Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcvs2svn <>2012-08-10 13:37:35 +0400
committercvs2svn <>2012-08-10 13:37:35 +0400
commit316eee31fe861ecb6db3905a85719fd536f984be (patch)
tree504dc9042e08d314c2b0222092d0a63314981e7e
parentc0956742a74d194b9c18c7a91aa6d6010beb4cd3 (diff)
This commit was manufactured by cvs2svn to create tag 'cygwin-cygwin-1_7_11-release
1_7_11-release'. Sprout from cygwin-64bit-branch 2012-08-10 09:37:33 UTC cvs2svn 'This commit was manufactured by cvs2svn to create branch 'cygwin-64bit-' Cherrypick from master 2012-02-25 10:51:32 UTC Corinna Vinschen <corinna@vinschen.de> ' * new-features.sgml (ov-new1.7.11): Add two more changes to the list.': COPYING.LIBGLOSS COPYING.NEWLIB COPYING3 COPYING3.LIB ChangeLog MAINTAINERS compile config.rpath config.sub config/ChangeLog config/mh-darwin config/mh-interix config/mh-ppc-aix config/mt-alphaieee config/mt-sde config/picflag.m4 config/stdint.m4 config/tcl.m4 configure configure.ac include/ChangeLog include/bfdlink.h include/dis-asm.h include/dwarf2.h include/elf/ChangeLog include/elf/avr.h include/elf/common.h include/elf/m68hc11.h include/elf/mn10300.h include/elf/ppc.h include/elf/s390.h include/elf/sparc.h include/elf/tilegx.h include/elf/tilepro.h include/filenames.h include/gdb/ChangeLog include/gdb/callback.h include/gdb/signals.def include/gdb/signals.h include/mach-o/ChangeLog include/mach-o/codesign.h include/mach-o/external.h include/mach-o/loader.h include/mach-o/reloc.h include/mach-o/x86-64.h include/opcode/ChangeLog include/opcode/avr.h include/opcode/crx.h include/opcode/m68hc11.h include/opcode/mips.h include/opcode/ppc.h include/opcode/sparc.h include/opcode/tilegx.h include/opcode/tilepro.h include/plugin-api.h include/splay-tree.h include/vms/ChangeLog include/vms/lbr.h ltgcc.m4 ltoptions.m4 ltversion.m4 lt~obsolete.m4 newlib/ChangeLog newlib/doc/Makefile.am newlib/doc/Makefile.in newlib/libc/include/machine/setjmp-dj.h newlib/libc/include/stdio.h newlib/libc/include/string.h newlib/libc/include/sys/signal.h newlib/libc/include/sys/stat.h newlib/libc/include/sys/time.h newlib/libc/include/sys/times.h newlib/libc/include/sys/types.h newlib/libc/include/sys/unistd.h newlib/libc/include/sys/wait.h newlib/libc/locale/lmessages.c newlib/libc/locale/lmonetary.c newlib/libc/locale/locale.c newlib/libc/locale/nl_langinfo.c newlib/libc/machine/arm/access.c newlib/libc/machine/cr16/sys/asm.h newlib/libc/machine/epiphany/Makefile.am newlib/libc/machine/epiphany/Makefile.in newlib/libc/machine/epiphany/aclocal.m4 newlib/libc/machine/epiphany/configure newlib/libc/machine/epiphany/configure.in newlib/libc/machine/epiphany/machine/stdlib.h newlib/libc/machine/epiphany/setjmp.S newlib/libc/machine/i386/setjmp.S newlib/libc/machine/rl78/Makefile.am newlib/libc/machine/rl78/Makefile.in newlib/libc/machine/rl78/aclocal.m4 newlib/libc/machine/rl78/configure newlib/libc/machine/rl78/configure.in newlib/libc/machine/rl78/setjmp.S newlib/libc/posix/collate.c newlib/libc/posix/engine.c newlib/libc/posix/glob.c newlib/libc/posix/popen.c newlib/libc/posix/readdir.c newlib/libc/posix/readdir_r.c newlib/libc/posix/regcomp.c newlib/libc/posix/telldir.c newlib/libc/posix/wordexp.c newlib/libc/reent/mkdirr.c newlib/libc/reent/renamer.c newlib/libc/search/hash.c newlib/libc/search/hash_bigkey.c newlib/libc/search/hash_page.c newlib/libc/search/hcreate_r.c newlib/libc/stdio/asiprintf.c newlib/libc/stdio/asprintf.c newlib/libc/stdio/clearerr.c newlib/libc/stdio/fclose.c newlib/libc/stdio/fdopen.c newlib/libc/stdio/feof.c newlib/libc/stdio/ferror.c newlib/libc/stdio/fflush.c newlib/libc/stdio/fgetc.c newlib/libc/stdio/fgets.c newlib/libc/stdio/fgetwc.c newlib/libc/stdio/fgetws.c newlib/libc/stdio/fileno.c newlib/libc/stdio/findfp.c newlib/libc/stdio/fmemopen.c newlib/libc/stdio/fopen.c newlib/libc/stdio/fopencookie.c newlib/libc/stdio/fpurge.c newlib/libc/stdio/fputc.c newlib/libc/stdio/fputs.c newlib/libc/stdio/fputwc.c newlib/libc/stdio/fputws.c newlib/libc/stdio/fread.c newlib/libc/stdio/freopen.c newlib/libc/stdio/fseek.c newlib/libc/stdio/ftell.c newlib/libc/stdio/funopen.c newlib/libc/stdio/fwide.c newlib/libc/stdio/fwrite.c newlib/libc/stdio/getc.c newlib/libc/stdio/getdelim.c newlib/libc/stdio/gets.c newlib/libc/stdio/local.h newlib/libc/stdio/mktemp.c newlib/libc/stdio/open_memstream.c newlib/libc/stdio/putc.c newlib/libc/stdio/setvbuf.c newlib/libc/stdio/ungetc.c newlib/libc/stdio/ungetwc.c newlib/libc/stdio/vasiprintf.c newlib/libc/stdio/vasprintf.c newlib/libc/stdio/vfprintf.c newlib/libc/stdio/vfscanf.c newlib/libc/stdio/vfwprintf.c newlib/libc/stdio/vfwscanf.c newlib/libc/stdio64/fdopen64.c newlib/libc/stdio64/fopen64.c newlib/libc/stdio64/freopen64.c newlib/libc/stdio64/fseeko64.c newlib/libc/stdio64/ftello64.c newlib/libc/stdlib/mbtowc_r.c newlib/libc/stdlib/mprec.h newlib/libc/stdlib/wctomb_r.c newlib/libc/string/Makefile.am newlib/libc/string/Makefile.in newlib/libc/string/strcasestr.c newlib/libc/sys/epiphany/Makefile.am newlib/libc/sys/epiphany/Makefile.in newlib/libc/sys/epiphany/aclocal.m4 newlib/libc/sys/epiphany/configure newlib/libc/sys/epiphany/configure.in newlib/libc/sys/epiphany/e_printf.c newlib/libc/sys/h8300hms/sys/file.h newlib/libc/sys/linux/machine/i386/setjmp.S newlib/libc/sys/rtems/crt0.c newlib/libc/sys/rtems/machine/_types.h newlib/libc/sys/sysmec/access.c newlib/libc/sys/sysnecv850/access.c newlib/libc/sys/sysnecv850/crt0.S newlib/libc/time/strptime.c newlib/libm/common/sf_round.c newlib/libm/math/e_atan2.c newlib/libm/math/e_exp.c newlib/libm/math/e_pow.c newlib/libm/math/e_rem_pio2.c newlib/libm/math/ef_exp.c newlib/libm/math/ef_pow.c newlib/libm/math/er_lgamma.c newlib/libm/math/erf_lgamma.c newlib/testsuite/newlib.stdio/stdio.exp newlib/testsuite/newlib.stdio/swprintf.c newlib/testsuite/newlib.string/strcmp-1.c winsup/ChangeLog winsup/Makefile.common winsup/cygserver/ChangeLog winsup/cygserver/client.cc winsup/cygserver/woutsup.h winsup/cygwin/ChangeLog winsup/cygwin/Makefile.in winsup/cygwin/advapi32.cc winsup/cygwin/child_info.h winsup/cygwin/configure.in winsup/cygwin/cygheap.cc winsup/cygwin/cygheap.h winsup/cygwin/cygprops.h winsup/cygwin/cygserver_ipc.h winsup/cygwin/cygthread.cc winsup/cygwin/cygtls.cc winsup/cygwin/cygtls.h winsup/cygwin/cygwin.din winsup/cygwin/cygwin.sc winsup/cygwin/dcrt0.cc winsup/cygwin/devices.cc winsup/cygwin/devices.h winsup/cygwin/devices.in winsup/cygwin/dir.cc winsup/cygwin/dll_init.cc winsup/cygwin/dll_init.h winsup/cygwin/dtable.cc winsup/cygwin/dtable.h winsup/cygwin/environ.cc winsup/cygwin/exceptions.cc winsup/cygwin/external.cc winsup/cygwin/fenv.cc winsup/cygwin/fhandler.cc winsup/cygwin/fhandler.h winsup/cygwin/fhandler_clipboard.cc winsup/cygwin/fhandler_console.cc winsup/cygwin/fhandler_disk_file.cc winsup/cygwin/fhandler_dsp.cc winsup/cygwin/fhandler_fifo.cc winsup/cygwin/fhandler_floppy.cc winsup/cygwin/fhandler_mem.cc winsup/cygwin/fhandler_nodevice.cc winsup/cygwin/fhandler_process.cc winsup/cygwin/fhandler_procnet.cc winsup/cygwin/fhandler_registry.cc winsup/cygwin/fhandler_serial.cc winsup/cygwin/fhandler_socket.cc winsup/cygwin/fhandler_tape.cc winsup/cygwin/fhandler_termios.cc winsup/cygwin/fhandler_tty.cc winsup/cygwin/fhandler_virtual.cc winsup/cygwin/fhandler_windows.cc winsup/cygwin/flock.cc winsup/cygwin/fork.cc winsup/cygwin/gendef winsup/cygwin/gendevices winsup/cygwin/gentls_offsets winsup/cygwin/glob.cc winsup/cygwin/globals.cc winsup/cygwin/heap.cc winsup/cygwin/hires.h winsup/cygwin/hookapi.cc winsup/cygwin/include/cygwin/if.h winsup/cygwin/include/cygwin/in.h winsup/cygwin/include/cygwin/socket.h winsup/cygwin/include/cygwin/version.h winsup/cygwin/include/elf.h winsup/cygwin/include/inttypes.h winsup/cygwin/include/mntent.h winsup/cygwin/include/netdb.h winsup/cygwin/include/stdint.h winsup/cygwin/include/sys/elf32.h winsup/cygwin/include/sys/elf64.h winsup/cygwin/include/sys/elf_common.h winsup/cygwin/include/sys/elf_generic.h winsup/cygwin/include/sys/termios.h winsup/cygwin/include/sys/wait.h winsup/cygwin/init.cc winsup/cygwin/kernel32.cc winsup/cygwin/lib/_cygwin_crt0_common.cc winsup/cygwin/lib/crt0.h winsup/cygwin/libc/inet_addr.c winsup/cygwin/libc/inet_network.c winsup/cygwin/libc/minires-os-if.c winsup/cygwin/libc/minires.h winsup/cygwin/libc/rcmd.cc winsup/cygwin/miscfuncs.cc winsup/cygwin/miscfuncs.h winsup/cygwin/mkglobals_h winsup/cygwin/mkvers.sh winsup/cygwin/mmap.cc winsup/cygwin/mount.cc winsup/cygwin/mount.h winsup/cygwin/net.cc winsup/cygwin/ntdll.h winsup/cygwin/passwd.cc winsup/cygwin/path.cc winsup/cygwin/path.h winsup/cygwin/pinfo.cc winsup/cygwin/pinfo.h winsup/cygwin/pipe.cc winsup/cygwin/poll.cc winsup/cygwin/posix.sgml winsup/cygwin/posix_ipc.cc winsup/cygwin/pseudo-reloc.cc winsup/cygwin/regex/regcomp.c winsup/cygwin/registry.cc winsup/cygwin/release/1.7.10 winsup/cygwin/release/1.7.11 winsup/cygwin/sched.cc winsup/cygwin/sec_acl.cc winsup/cygwin/sec_helper.cc winsup/cygwin/security.cc winsup/cygwin/security.h winsup/cygwin/select.cc winsup/cygwin/select.h winsup/cygwin/shared.cc winsup/cygwin/signal.cc winsup/cygwin/sigproc.cc winsup/cygwin/sigproc.h winsup/cygwin/smallprint.cc winsup/cygwin/spawn.cc winsup/cygwin/strace.cc winsup/cygwin/strfuncs.cc winsup/cygwin/sync.h winsup/cygwin/syscalls.cc winsup/cygwin/sysconf.cc winsup/cygwin/syslog.cc winsup/cygwin/termios.cc winsup/cygwin/thread.cc winsup/cygwin/thread.h winsup/cygwin/times.cc winsup/cygwin/tlsoffsets.h winsup/cygwin/wait.cc winsup/cygwin/winbase.h winsup/cygwin/wincap.cc winsup/cygwin/wincap.h winsup/cygwin/winlean.h winsup/cygwin/winsup.h winsup/cygwin/winver.rc winsup/doc/ChangeLog winsup/doc/configure winsup/doc/cygwinenv.sgml winsup/doc/faq-programming.xml winsup/doc/faq-using.xml winsup/doc/new-features.sgml winsup/doc/overview2.sgml winsup/doc/pathnames.sgml winsup/doc/setup-net.sgml winsup/doc/using.sgml winsup/lsaauth/ChangeLog winsup/lsaauth/Makefile.in winsup/lsaauth/cyglsa.c winsup/lsaauth/cyglsa64.dll winsup/lsaauth/make-64bit-version-with-mingw-w64.sh winsup/mingw/ChangeLog winsup/mingw/configure winsup/mingw/configure.in winsup/mingw/include/_mingw.h winsup/mingw/include/excpt.h winsup/mingw/include/inttypes.h winsup/mingw/include/limits.h winsup/mingw/include/process.h winsup/mingw/include/stdint.h winsup/mingw/include/stdio.h winsup/mingw/include/stdlib.h winsup/mingw/include/sys/param.h winsup/mingw/include/wchar.h winsup/mingw/mingwex/Makefile.in winsup/mingw/mingwex/gdtoa/gd_qnan.h winsup/mingw/mingwex/tsearch.c winsup/mingw/profile/Makefile.in winsup/testsuite/ChangeLog winsup/testsuite/configure winsup/utils/ChangeLog winsup/utils/Makefile.in winsup/utils/bloda.cc winsup/utils/cygcheck.cc winsup/utils/cygpath.cc winsup/utils/dump_setup.cc winsup/utils/dumper.cc winsup/utils/locale.cc winsup/utils/mkgroup.c winsup/utils/mkpasswd.c winsup/utils/ps.cc winsup/utils/regtool.cc winsup/utils/strace.cc winsup/w32api/ChangeLog winsup/w32api/include/routprot.h winsup/w32api/include/setupapi.h winsup/w32api/include/winbase.h winsup/w32api/include/windows.h winsup/w32api/include/winnt.h winsup/w32api/include/winsock.h winsup/w32api/include/winsock2.h winsup/w32api/include/winuser.h winsup/w32api/include/winver.h winsup/w32api/include/wtsapi32.h winsup/w32api/lib/Makefile.in winsup/w32api/lib/kernel32.def winsup/w32api/lib/wtsapi32.def Delete: config/asmcfi.m4 config/math.m4 config/mmap.m4 config/weakref.m4 include/dwarf2.def include/elf/xgate.h include/gdb/gdb-index.h include/leb128.h include/opcode/xgate.h newlib/libc/string/memrchr.c winsup/cygwin/DevNotes winsup/cygwin/cygwait.cc winsup/cygwin/cygwait.h winsup/cygwin/fhandler_dev.cc winsup/cygwin/include/machine/elf.h winsup/cygwin/include/sys/elf.h winsup/mingw/mingwex/membarrier.c winsup/w32api/include/sdkddkver.h winsup/w32api/include/shobjidl.h winsup/w32api/lib/shobjidl-uuid.c
-rw-r--r--COPYING.LIBGLOSS2
-rw-r--r--COPYING.NEWLIB15
-rw-r--r--COPYING3674
-rw-r--r--COPYING3.LIB165
-rw-r--r--ChangeLog93
-rw-r--r--MAINTAINERS10
-rwxr-xr-xcompile143
-rwxr-xr-xconfig.rpath543
-rwxr-xr-xconfig.sub42
-rw-r--r--config/ChangeLog53
-rw-r--r--config/asmcfi.m415
-rw-r--r--config/math.m450
-rw-r--r--config/mh-darwin4
-rw-r--r--config/mh-interix2
-rw-r--r--config/mh-ppc-aix2
-rw-r--r--config/mmap.m497
-rw-r--r--config/mt-alphaieee1
-rw-r--r--config/mt-sde2
-rw-r--r--config/picflag.m45
-rw-r--r--config/stdint.m42
-rw-r--r--config/tcl.m46
-rw-r--r--config/weakref.m447
-rwxr-xr-xconfigure53
-rw-r--r--configure.ac3274
-rw-r--r--include/ChangeLog118
-rw-r--r--include/bfdlink.h7
-rw-r--r--include/dis-asm.h8
-rw-r--r--include/dwarf2.def685
-rw-r--r--include/dwarf2.h720
-rw-r--r--include/elf/ChangeLog125
-rw-r--r--include/elf/avr.h26
-rw-r--r--include/elf/common.h14
-rw-r--r--include/elf/m68hc11.h18
-rw-r--r--include/elf/mn10300.h9
-rw-r--r--include/elf/ppc.h27
-rw-r--r--include/elf/s390.h1
-rw-r--r--include/elf/sparc.h15
-rw-r--r--include/elf/tilegx.h48
-rw-r--r--include/elf/tilepro.h18
-rw-r--r--include/elf/xgate.h77
-rw-r--r--include/filenames.h6
-rw-r--r--include/gdb/ChangeLog20
-rw-r--r--include/gdb/callback.h7
-rw-r--r--include/gdb/gdb-index.h99
-rw-r--r--include/gdb/signals.def300
-rw-r--r--include/gdb/signals.h4
-rw-r--r--include/leb128.h136
-rw-r--r--include/mach-o/ChangeLog51
-rw-r--r--include/mach-o/codesign.h85
-rw-r--r--include/mach-o/external.h326
-rw-r--r--include/mach-o/loader.h360
-rw-r--r--include/mach-o/reloc.h33
-rw-r--r--include/mach-o/x86-64.h37
-rw-r--r--include/opcode/ChangeLog81
-rw-r--r--include/opcode/avr.h12
-rw-r--r--include/opcode/crx.h4
-rw-r--r--include/opcode/m68hc11.h50
-rw-r--r--include/opcode/mips.h52
-rw-r--r--include/opcode/ppc.h54
-rw-r--r--include/opcode/sparc.h57
-rw-r--r--include/opcode/tilegx.h2
-rw-r--r--include/opcode/tilepro.h2
-rw-r--r--include/opcode/xgate.h120
-rw-r--r--include/plugin-api.h3
-rw-r--r--include/splay-tree.h19
-rw-r--r--include/vms/ChangeLog4
-rw-r--r--include/vms/lbr.h3
-rw-r--r--ltgcc.m460
-rw-r--r--ltoptions.m4369
-rw-r--r--ltversion.m423
-rw-r--r--lt~obsolete.m498
-rw-r--r--newlib/ChangeLog229
-rw-r--r--newlib/doc/Makefile.am2
-rw-r--r--newlib/doc/Makefile.in2
-rw-r--r--newlib/libc/include/machine/setjmp-dj.h2
-rw-r--r--newlib/libc/include/stdio.h3
-rw-r--r--newlib/libc/include/string.h1
-rw-r--r--newlib/libc/include/sys/signal.h3
-rw-r--r--newlib/libc/include/sys/stat.h2
-rw-r--r--newlib/libc/include/sys/time.h8
-rw-r--r--newlib/libc/include/sys/times.h3
-rw-r--r--newlib/libc/include/sys/types.h9
-rw-r--r--newlib/libc/include/sys/unistd.h2
-rw-r--r--newlib/libc/include/sys/wait.h4
-rw-r--r--newlib/libc/locale/lmessages.c2
-rw-r--r--newlib/libc/locale/lmonetary.c2
-rw-r--r--newlib/libc/locale/locale.c4
-rw-r--r--newlib/libc/locale/nl_langinfo.c5
-rw-r--r--newlib/libc/machine/arm/access.c2
-rw-r--r--newlib/libc/machine/cr16/sys/asm.h473
-rw-r--r--newlib/libc/machine/epiphany/Makefile.am42
-rw-r--r--newlib/libc/machine/epiphany/Makefile.in413
-rw-r--r--newlib/libc/machine/epiphany/aclocal.m4992
-rwxr-xr-xnewlib/libc/machine/epiphany/configure4745
-rw-r--r--newlib/libc/machine/epiphany/configure.in41
-rw-r--r--newlib/libc/machine/epiphany/machine/stdlib.h15
-rw-r--r--newlib/libc/machine/epiphany/setjmp.S65
-rw-r--r--newlib/libc/machine/i386/setjmp.S2
-rw-r--r--newlib/libc/machine/rl78/Makefile.am16
-rw-r--r--newlib/libc/machine/rl78/Makefile.in413
-rw-r--r--newlib/libc/machine/rl78/aclocal.m4992
-rwxr-xr-xnewlib/libc/machine/rl78/configure4745
-rw-r--r--newlib/libc/machine/rl78/configure.in14
-rw-r--r--newlib/libc/machine/rl78/setjmp.S150
-rw-r--r--newlib/libc/posix/collate.c19
-rw-r--r--newlib/libc/posix/engine.c14
-rw-r--r--newlib/libc/posix/glob.c4
-rw-r--r--newlib/libc/posix/popen.c5
-rw-r--r--newlib/libc/posix/readdir.c6
-rw-r--r--newlib/libc/posix/readdir_r.c2
-rw-r--r--newlib/libc/posix/regcomp.c14
-rw-r--r--newlib/libc/posix/telldir.c3
-rw-r--r--newlib/libc/posix/wordexp.c3
-rw-r--r--newlib/libc/reent/mkdirr.c2
-rw-r--r--newlib/libc/reent/renamer.c1
-rw-r--r--newlib/libc/search/hash.c16
-rw-r--r--newlib/libc/search/hash_bigkey.c3
-rw-r--r--newlib/libc/search/hash_page.c2
-rw-r--r--newlib/libc/search/hcreate_r.c3
-rw-r--r--newlib/libc/stdio/asiprintf.c4
-rw-r--r--newlib/libc/stdio/asprintf.c4
-rw-r--r--newlib/libc/stdio/clearerr.c4
-rw-r--r--newlib/libc/stdio/fclose.c12
-rw-r--r--newlib/libc/stdio/fdopen.c4
-rw-r--r--newlib/libc/stdio/feof.c4
-rw-r--r--newlib/libc/stdio/ferror.c4
-rw-r--r--newlib/libc/stdio/fflush.c4
-rw-r--r--newlib/libc/stdio/fgetc.c8
-rw-r--r--newlib/libc/stdio/fgets.c12
-rw-r--r--newlib/libc/stdio/fgetwc.c4
-rw-r--r--newlib/libc/stdio/fgetws.c16
-rw-r--r--newlib/libc/stdio/fileno.c13
-rw-r--r--newlib/libc/stdio/findfp.c14
-rw-r--r--newlib/libc/stdio/fmemopen.c8
-rw-r--r--newlib/libc/stdio/fopen.c8
-rw-r--r--newlib/libc/stdio/fopencookie.c8
-rw-r--r--newlib/libc/stdio/fpurge.c6
-rw-r--r--newlib/libc/stdio/fputc.c8
-rw-r--r--newlib/libc/stdio/fputs.c4
-rw-r--r--newlib/libc/stdio/fputwc.c4
-rw-r--r--newlib/libc/stdio/fputws.c6
-rw-r--r--newlib/libc/stdio/fread.c14
-rw-r--r--newlib/libc/stdio/freopen.c17
-rw-r--r--newlib/libc/stdio/fseek.c18
-rw-r--r--newlib/libc/stdio/ftell.c8
-rw-r--r--newlib/libc/stdio/funopen.c8
-rw-r--r--newlib/libc/stdio/fwide.c4
-rw-r--r--newlib/libc/stdio/fwrite.c6
-rw-r--r--newlib/libc/stdio/getc.c8
-rw-r--r--newlib/libc/stdio/getdelim.c4
-rw-r--r--newlib/libc/stdio/gets.c7
-rw-r--r--newlib/libc/stdio/local.h77
-rw-r--r--newlib/libc/stdio/mktemp.c2
-rw-r--r--newlib/libc/stdio/open_memstream.c12
-rw-r--r--newlib/libc/stdio/putc.c8
-rw-r--r--newlib/libc/stdio/setvbuf.c8
-rw-r--r--newlib/libc/stdio/ungetc.c14
-rw-r--r--newlib/libc/stdio/ungetwc.c4
-rw-r--r--newlib/libc/stdio/vasiprintf.c2
-rw-r--r--newlib/libc/stdio/vasprintf.c2
-rw-r--r--newlib/libc/stdio/vfprintf.c18
-rw-r--r--newlib/libc/stdio/vfscanf.c25
-rw-r--r--newlib/libc/stdio/vfwprintf.c19
-rw-r--r--newlib/libc/stdio/vfwscanf.c18
-rw-r--r--newlib/libc/stdio64/fdopen64.c4
-rw-r--r--newlib/libc/stdio64/fopen64.c8
-rw-r--r--newlib/libc/stdio64/freopen64.c23
-rw-r--r--newlib/libc/stdio64/fseeko64.c12
-rw-r--r--newlib/libc/stdio64/ftello64.c8
-rw-r--r--newlib/libc/stdlib/mbtowc_r.c2
-rw-r--r--newlib/libc/stdlib/mprec.h2
-rw-r--r--newlib/libc/stdlib/wctomb_r.c2
-rw-r--r--newlib/libc/string/Makefile.am3
-rw-r--r--newlib/libc/string/Makefile.in11
-rw-r--r--newlib/libc/string/memrchr.c134
-rw-r--r--newlib/libc/string/strcasestr.c5
-rw-r--r--newlib/libc/sys/epiphany/Makefile.am43
-rw-r--r--newlib/libc/sys/epiphany/Makefile.in439
-rw-r--r--newlib/libc/sys/epiphany/aclocal.m4992
-rwxr-xr-xnewlib/libc/sys/epiphany/configure4745
-rw-r--r--newlib/libc/sys/epiphany/configure.in41
-rw-r--r--newlib/libc/sys/epiphany/e_printf.c150
-rw-r--r--newlib/libc/sys/h8300hms/sys/file.h2
-rw-r--r--newlib/libc/sys/linux/machine/i386/setjmp.S2
-rw-r--r--newlib/libc/sys/rtems/crt0.c9
-rw-r--r--newlib/libc/sys/rtems/machine/_types.h5
-rw-r--r--newlib/libc/sys/sysmec/access.c2
-rw-r--r--newlib/libc/sys/sysnecv850/access.c2
-rw-r--r--newlib/libc/sys/sysnecv850/crt0.S2
-rw-r--r--newlib/libc/time/strptime.c4
-rw-r--r--newlib/libm/common/sf_round.c4
-rw-r--r--newlib/libm/math/e_atan2.c2
-rw-r--r--newlib/libm/math/e_exp.c3
-rw-r--r--newlib/libm/math/e_pow.c3
-rw-r--r--newlib/libm/math/e_rem_pio2.c2
-rw-r--r--newlib/libm/math/ef_exp.c3
-rw-r--r--newlib/libm/math/ef_pow.c3
-rw-r--r--newlib/libm/math/er_lgamma.c2
-rw-r--r--newlib/libm/math/erf_lgamma.c2
-rw-r--r--newlib/testsuite/newlib.stdio/stdio.exp12
-rw-r--r--newlib/testsuite/newlib.stdio/swprintf.c30
-rw-r--r--newlib/testsuite/newlib.string/strcmp-1.c29
-rw-r--r--winsup/ChangeLog10
-rw-r--r--winsup/Makefile.common6
-rw-r--r--winsup/cygserver/ChangeLog16
-rw-r--r--winsup/cygserver/client.cc2
-rw-r--r--winsup/cygserver/woutsup.h17
-rw-r--r--winsup/cygwin/ChangeLog1925
-rw-r--r--winsup/cygwin/DevNotes385
-rw-r--r--winsup/cygwin/Makefile.in52
-rw-r--r--winsup/cygwin/advapi32.cc5
-rw-r--r--winsup/cygwin/child_info.h20
-rw-r--r--winsup/cygwin/cygheap.cc127
-rw-r--r--winsup/cygwin/cygheap.h103
-rw-r--r--winsup/cygwin/cygprops.h3
-rw-r--r--winsup/cygwin/cygserver_ipc.h5
-rw-r--r--winsup/cygwin/cygthread.cc2
-rw-r--r--winsup/cygwin/cygtls.cc161
-rw-r--r--winsup/cygwin/cygtls.h60
-rw-r--r--winsup/cygwin/cygwait.cc106
-rw-r--r--winsup/cygwin/cygwait.h60
-rw-r--r--winsup/cygwin/cygwin.din2
-rw-r--r--winsup/cygwin/cygwin.sc1
-rw-r--r--winsup/cygwin/dcrt0.cc72
-rw-r--r--winsup/cygwin/devices.cc15655
-rw-r--r--winsup/cygwin/devices.h81
-rw-r--r--winsup/cygwin/devices.in210
-rw-r--r--winsup/cygwin/dir.cc5
-rw-r--r--winsup/cygwin/dll_init.cc109
-rw-r--r--winsup/cygwin/dll_init.h1
-rw-r--r--winsup/cygwin/dtable.cc87
-rw-r--r--winsup/cygwin/dtable.h5
-rw-r--r--winsup/cygwin/environ.cc31
-rw-r--r--winsup/cygwin/exceptions.cc253
-rw-r--r--winsup/cygwin/external.cc9
-rwxr-xr-xwinsup/cygwin/fenv.cc6
-rw-r--r--winsup/cygwin/fhandler.cc20
-rw-r--r--winsup/cygwin/fhandler.h65
-rw-r--r--winsup/cygwin/fhandler_clipboard.cc190
-rw-r--r--winsup/cygwin/fhandler_console.cc185
-rw-r--r--winsup/cygwin/fhandler_dev.cc230
-rw-r--r--winsup/cygwin/fhandler_disk_file.cc59
-rw-r--r--winsup/cygwin/fhandler_dsp.cc9
-rw-r--r--winsup/cygwin/fhandler_fifo.cc17
-rw-r--r--winsup/cygwin/fhandler_floppy.cc5
-rw-r--r--winsup/cygwin/fhandler_mem.cc4
-rw-r--r--winsup/cygwin/fhandler_nodevice.cc6
-rw-r--r--winsup/cygwin/fhandler_process.cc67
-rw-r--r--winsup/cygwin/fhandler_procnet.cc10
-rw-r--r--winsup/cygwin/fhandler_registry.cc3
-rw-r--r--winsup/cygwin/fhandler_serial.cc41
-rw-r--r--winsup/cygwin/fhandler_socket.cc90
-rw-r--r--winsup/cygwin/fhandler_tape.cc24
-rw-r--r--winsup/cygwin/fhandler_termios.cc18
-rw-r--r--winsup/cygwin/fhandler_tty.cc172
-rw-r--r--winsup/cygwin/fhandler_virtual.cc1
-rw-r--r--winsup/cygwin/fhandler_windows.cc62
-rw-r--r--winsup/cygwin/flock.cc318
-rw-r--r--winsup/cygwin/fork.cc116
-rwxr-xr-xwinsup/cygwin/gendef71
-rwxr-xr-xwinsup/cygwin/gendevices14
-rwxr-xr-xwinsup/cygwin/gentls_offsets4
-rw-r--r--winsup/cygwin/glob.cc3
-rw-r--r--winsup/cygwin/globals.cc42
-rw-r--r--winsup/cygwin/heap.cc11
-rw-r--r--winsup/cygwin/hires.h3
-rw-r--r--winsup/cygwin/hookapi.cc127
-rw-r--r--winsup/cygwin/include/cygwin/if.h2
-rw-r--r--winsup/cygwin/include/cygwin/in.h4
-rw-r--r--winsup/cygwin/include/cygwin/socket.h13
-rw-r--r--winsup/cygwin/include/cygwin/version.h6
-rw-r--r--winsup/cygwin/include/elf.h48
-rw-r--r--winsup/cygwin/include/inttypes.h183
-rw-r--r--winsup/cygwin/include/machine/elf.h117
-rw-r--r--winsup/cygwin/include/mntent.h1
-rw-r--r--winsup/cygwin/include/netdb.h5
-rw-r--r--winsup/cygwin/include/stdint.h132
-rw-r--r--winsup/cygwin/include/sys/elf.h41
-rw-r--r--winsup/cygwin/include/sys/elf32.h119
-rw-r--r--winsup/cygwin/include/sys/elf64.h114
-rw-r--r--winsup/cygwin/include/sys/elf_common.h1145
-rw-r--r--winsup/cygwin/include/sys/elf_generic.h53
-rw-r--r--winsup/cygwin/include/sys/termios.h6
-rw-r--r--winsup/cygwin/include/sys/wait.h6
-rw-r--r--winsup/cygwin/init.cc3
-rw-r--r--winsup/cygwin/kernel32.cc7
-rw-r--r--winsup/cygwin/lib/_cygwin_crt0_common.cc3
-rw-r--r--winsup/cygwin/lib/crt0.h2
-rw-r--r--winsup/cygwin/libc/inet_addr.c3
-rw-r--r--winsup/cygwin/libc/inet_network.c3
-rw-r--r--winsup/cygwin/libc/minires-os-if.c17
-rw-r--r--winsup/cygwin/libc/minires.h6
-rw-r--r--winsup/cygwin/libc/rcmd.cc1
-rw-r--r--winsup/cygwin/miscfuncs.cc2
-rw-r--r--winsup/cygwin/miscfuncs.h4
-rwxr-xr-xwinsup/cygwin/mkglobals_h4
-rw-r--r--winsup/cygwin/mmap.cc3
-rw-r--r--winsup/cygwin/mount.cc32
-rw-r--r--winsup/cygwin/mount.h4
-rw-r--r--winsup/cygwin/net.cc228
-rw-r--r--winsup/cygwin/ntdll.h93
-rw-r--r--winsup/cygwin/passwd.cc60
-rw-r--r--winsup/cygwin/path.cc517
-rw-r--r--winsup/cygwin/path.h5
-rw-r--r--winsup/cygwin/pinfo.cc97
-rw-r--r--winsup/cygwin/pinfo.h5
-rw-r--r--winsup/cygwin/pipe.cc27
-rw-r--r--winsup/cygwin/poll.cc4
-rw-r--r--winsup/cygwin/posix.sgml11
-rw-r--r--winsup/cygwin/posix_ipc.cc9
-rw-r--r--winsup/cygwin/pseudo-reloc.cc8
-rw-r--r--winsup/cygwin/regex/regcomp.c3
-rw-r--r--winsup/cygwin/registry.cc2
-rw-r--r--winsup/cygwin/release/1.7.10126
-rw-r--r--winsup/cygwin/release/1.7.1129
-rw-r--r--winsup/cygwin/sched.cc2
-rw-r--r--winsup/cygwin/sec_acl.cc8
-rw-r--r--winsup/cygwin/sec_helper.cc74
-rw-r--r--winsup/cygwin/security.cc14
-rw-r--r--winsup/cygwin/security.h21
-rw-r--r--winsup/cygwin/select.cc365
-rw-r--r--winsup/cygwin/select.h20
-rw-r--r--winsup/cygwin/shared.cc4
-rw-r--r--winsup/cygwin/signal.cc60
-rw-r--r--winsup/cygwin/sigproc.cc90
-rw-r--r--winsup/cygwin/sigproc.h115
-rw-r--r--winsup/cygwin/smallprint.cc35
-rw-r--r--winsup/cygwin/spawn.cc110
-rw-r--r--winsup/cygwin/strace.cc4
-rw-r--r--winsup/cygwin/strfuncs.cc29
-rw-r--r--winsup/cygwin/sync.h9
-rw-r--r--winsup/cygwin/syscalls.cc249
-rw-r--r--winsup/cygwin/sysconf.cc5
-rw-r--r--winsup/cygwin/syslog.cc8
-rw-r--r--winsup/cygwin/termios.cc4
-rw-r--r--winsup/cygwin/thread.cc146
-rw-r--r--winsup/cygwin/thread.h25
-rw-r--r--winsup/cygwin/times.cc36
-rw-r--r--winsup/cygwin/tlsoffsets.h146
-rw-r--r--winsup/cygwin/wait.cc5
-rw-r--r--winsup/cygwin/winbase.h48
-rw-r--r--winsup/cygwin/wincap.cc143
-rw-r--r--winsup/cygwin/wincap.h6
-rw-r--r--winsup/cygwin/winlean.h65
-rw-r--r--winsup/cygwin/winsup.h34
-rw-r--r--winsup/cygwin/winver.rc2
-rw-r--r--winsup/doc/ChangeLog117
-rwxr-xr-xwinsup/doc/configure4192
-rw-r--r--winsup/doc/cygwinenv.sgml15
-rw-r--r--winsup/doc/faq-programming.xml89
-rw-r--r--winsup/doc/faq-using.xml39
-rw-r--r--winsup/doc/new-features.sgml93
-rw-r--r--winsup/doc/overview2.sgml13
-rw-r--r--winsup/doc/pathnames.sgml58
-rw-r--r--winsup/doc/setup-net.sgml1
-rw-r--r--winsup/doc/using.sgml2
-rw-r--r--winsup/lsaauth/ChangeLog8
-rw-r--r--winsup/lsaauth/Makefile.in6
-rw-r--r--winsup/lsaauth/cyglsa.c46
-rw-r--r--winsup/lsaauth/cyglsa64.dllbin8704 -> 8704 bytes
-rw-r--r--winsup/lsaauth/make-64bit-version-with-mingw-w64.sh6
-rw-r--r--winsup/mingw/ChangeLog65
-rwxr-xr-xwinsup/mingw/configure2
-rw-r--r--winsup/mingw/configure.in2
-rw-r--r--winsup/mingw/include/_mingw.h25
-rw-r--r--winsup/mingw/include/excpt.h23
-rw-r--r--winsup/mingw/include/inttypes.h39
-rw-r--r--winsup/mingw/include/limits.h4
-rw-r--r--winsup/mingw/include/process.h22
-rw-r--r--winsup/mingw/include/stdint.h1
-rw-r--r--winsup/mingw/include/stdio.h8
-rw-r--r--winsup/mingw/include/stdlib.h9
-rw-r--r--winsup/mingw/include/sys/param.h4
-rw-r--r--winsup/mingw/include/wchar.h4
-rw-r--r--winsup/mingw/mingwex/Makefile.in6
-rw-r--r--winsup/mingw/mingwex/gdtoa/gd_qnan.h8
-rw-r--r--winsup/mingw/mingwex/membarrier.c19
-rwxr-xr-xwinsup/mingw/mingwex/tsearch.c26
-rw-r--r--winsup/mingw/profile/Makefile.in4
-rw-r--r--winsup/testsuite/ChangeLog4
-rw-r--r--winsup/testsuite/configure4190
-rw-r--r--winsup/utils/ChangeLog60
-rw-r--r--winsup/utils/Makefile.in2
-rw-r--r--winsup/utils/bloda.cc93
-rw-r--r--winsup/utils/cygcheck.cc14
-rw-r--r--winsup/utils/cygpath.cc51
-rw-r--r--winsup/utils/dump_setup.cc18
-rw-r--r--winsup/utils/dumper.cc3
-rw-r--r--winsup/utils/locale.cc4
-rw-r--r--winsup/utils/mkgroup.c36
-rw-r--r--winsup/utils/mkpasswd.c45
-rw-r--r--winsup/utils/ps.cc6
-rw-r--r--winsup/utils/regtool.cc4
-rw-r--r--winsup/utils/strace.cc10
-rw-r--r--winsup/w32api/ChangeLog73
-rw-r--r--winsup/w32api/include/routprot.h8
-rw-r--r--winsup/w32api/include/sdkddkver.h141
-rw-r--r--winsup/w32api/include/setupapi.h12
-rw-r--r--winsup/w32api/include/shobjidl.h143
-rw-r--r--winsup/w32api/include/winbase.h12
-rw-r--r--winsup/w32api/include/windows.h2
-rw-r--r--winsup/w32api/include/winnt.h13
-rw-r--r--winsup/w32api/include/winsock.h4
-rw-r--r--winsup/w32api/include/winsock2.h4
-rw-r--r--winsup/w32api/include/winuser.h4
-rw-r--r--winsup/w32api/include/winver.h4
-rw-r--r--winsup/w32api/include/wtsapi32.h52
-rw-r--r--winsup/w32api/lib/Makefile.in13
-rw-r--r--winsup/w32api/lib/kernel32.def6
-rw-r--r--winsup/w32api/lib/shobjidl-uuid.c13
-rwxr-xr-xwinsup/w32api/lib/wtsapi32.def1
411 files changed, 41973 insertions, 25204 deletions
diff --git a/COPYING.LIBGLOSS b/COPYING.LIBGLOSS
index 0e1c65ad6..ed6c0a005 100644
--- a/COPYING.LIBGLOSS
+++ b/COPYING.LIBGLOSS
@@ -51,7 +51,7 @@ OF SUCH DAMAGE.
Copyright (C) 1993 DJ Delorie
All rights reserved.
-Redistribution, modification, and use in source and binary forms is permitted
+Redistribution and use in source and binary forms is permitted
provided that the above copyright notice and following paragraph are
duplicated in all such forms.
diff --git a/COPYING.NEWLIB b/COPYING.NEWLIB
index 6849eb5b4..d3a767af3 100644
--- a/COPYING.NEWLIB
+++ b/COPYING.NEWLIB
@@ -117,9 +117,18 @@ Mail Stop 573
Austin, TX 78741
800-292-9263
-(5)
+(5) C.W. Sandmann
-(6)
+Copyright (C) 1993 C.W. Sandmann
+
+This file may be freely distributed as long as the author's name remains.
+
+(6) Eric Backus
+
+(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.
(7) Sun Microsystems
@@ -407,7 +416,7 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (C) 1991 DJ Delorie
All rights reserved.
-Redistribution, modification, and use in source and binary forms is permitted
+Redistribution and use in source and binary forms is permitted
provided that the above copyright notice and following paragraph are
duplicated in all such forms.
diff --git a/COPYING3 b/COPYING3
new file mode 100644
index 000000000..94a9ed024
--- /dev/null
+++ b/COPYING3
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ 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 3 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, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ <program> Copyright (C) <year> <name of author>
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/COPYING3.LIB b/COPYING3.LIB
new file mode 100644
index 000000000..fc8a5de7e
--- /dev/null
+++ b/COPYING3.LIB
@@ -0,0 +1,165 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/ChangeLog b/ChangeLog
index f4fbf7e8e..599b59d96 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,70 +1,3 @@
-2012-06-28 Christophe Lyon <christophe.lyon@st.com>
-
- * configure.ac (CFLAGS_FOR_TARGET, CXXFLAGS_FOR_TARGET): Make sure
- they contain -O2.
- * configure: Regenerate.
-
-2012-05-14 Catherine Moore <clm@codesourcery.com>
-
- * NEWS: Mention PowerPC VLE port.
-
-2012-05-11 Mike Frysinger <vapier@gentoo.org>
-
- * MAINTAINERS (config/): Move to intl/ section.
- (compile; depcomp; install-sh; missing; ylwrap): Likewise.
-
-2012-05-09 Nick Clifton <nickc@redhat.com>
- Paul Smith <psmith@gnu.org>
-
- PR bootstrap/50461
- * configure.ac (mpfr-dir): When using in-tree MPFR sources
- allow for the fact that from release v3.1.0 of MPFR the source
- files were moved into a src sub-directory.
- * configure: Regenerate.
-
-2012-05-02 Roland McGrath <mcgrathr@google.com>
-
- * configure.ac (ENABLE_GOLD): Consider *-*-nacl* targets ELF.
- * configure: Regenerate.
-
-2012-04-25 Joel Brobecker <brobecker@adacore.com>
-
- * config.sub: Update to 2012-04-18 version from official repo.
-
-2012-03-19 Tristan Gingold <gingold@adacore.com>
-
- * configure.ac (ia64*-*-*vms*): Add support for ld.
- * configure: Regenerate.
-
-2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (enable_libgomp): Remove *-*-irix6*.
- (unsupported_languages): Remove mips-sgi-irix6.*.
- (noconfigdirs): Don't add ${libgcj} for mips*-*-irix6*.
- (with_stabs): Remove.
- * configure: Regenerate.
-
-2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (enable_libgomp): Remove *-*-osf*.
- (with_stabs): Remove alpha*-*-osf*.
- * configure: Regenerate.
-
-2012-03-09 Jeff Johnston <jjohnstn@redhat.com>
-
- * COPYING.NEWLIB: Modify DJ Delorie license to include
- modification rights in clause as permitted by DJ Delorie.
- * COPYING.LIBGLOSS: Ditto.
-
-2012-03-09 Jeff Johnston <jjohnstn@redhat.com>
-
- * COPYING.NEWLIB: Remove two unused licenses.
-
-2012-03-05 Tristan Gingold <gingold@adacore.com>
-
- * configure.ac: Enable gdb and readline for ia64*-*-*vms*.
- * configure: Regenerate.
-
2012-02-21 Joern Rennecke <joern.rennecke@embecosm.com>
* COPYING.NEWLIB: Add Adapteva notice.
@@ -126,7 +59,7 @@
2011-09-09 Linas Vepstas <linasvepstas@gmail.com>
Ben Elliston <bje@gnu.org>
- * config.sub (hexagon, hexagon-*): New.
+ * config.sub (hexagon, hexagon-*): New.
2011-08-23 Roland McGrath <mcgrathr@google.com>
@@ -615,11 +548,11 @@
* config.guess: Update to version 2011-02-02
* config.sub: Update to version 2011-02-24
-
+
2011-03-03 Sebastian Pop <sebastian.pop@amd.com>
- * configure.ac: Adjust test of with_ppl.
- * configure: Regenerated.
+ * configure.ac: Adjust test of with_ppl.
+ * configure: Regenerated.
2011-03-02 Sebastian Pop <sebastian.pop@amd.com>
@@ -1226,11 +1159,11 @@
* lt~obsolete.m4: Likewise.
2010-01-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+ Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR bootstrap/42424
* configure.ac: Include libtool m4 files.
- (_LT_CHECK_OBJDIR): Call it.
+ (_LT_CHECK_OBJDIR): Call it.
(extra_mpc_mpfr_configure_flags, extra_mpc_gmp_configure_flags,
gmplibs, ppllibs, clooglibs): Use $lt_cv_objdir.
@@ -1643,8 +1576,8 @@
2009-06-03 Jerome Guitton <guitton@adacore.com>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
- * Makefile.tpl (all): Avoid a trailing backslash.
- * Makefile.in: Regenerate.
+ * Makefile.tpl (all): Avoid a trailing backslash.
+ * Makefile.in: Regenerate.
2009-06-03 Ben Elliston <bje@au.ibm.com>
@@ -3807,7 +3740,7 @@
non-ported target libraries in noconfigdirs.
<cris-*, crisv32-*> Ditto, except for non-aout, non-elf,
non-linux-gnu. Remove libgcj_ex_libffi.
- <lang_frag loop>: Set add_this_lang=no if the language is in
+ <lang_frag loop>: Set add_this_lang=no if the language is in
unsupported_languages.
* configure: Regenerate.
@@ -5128,8 +5061,8 @@
2003-12-21 Bernardo Innocenti <bernie@develer.com>
- * configure.in (*-*-uclinux): Exclude newlib, libgloss and rda.
- * configure: Regenerated.
+ * configure.in (*-*-uclinux): Exclude newlib, libgloss and rda.
+ * configure: Regenerated.
2003-12-19 Nathanael Nerode <neroden@gcc.gnu.org>
@@ -13218,8 +13151,8 @@ Mon May 10 05:58:35 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
Sun May 9 17:47:57 1993 Rob Savoye (rob at darkstar.cygnus.com)
- * Makefile.in: Use srcroot to find runtest rather than rootme.
- Pass RUNTESTFLAGS and EXPECT down in BASE_FLAGS_TO_PASS.
+ * Makefile.in: Use srcroot to find runtest rather than rootme.
+ Pass RUNTESTFLAGS and EXPECT down in BASE_FLAGS_TO_PASS.
Fri May 7 14:55:59 1993 Ian Lance Taylor (ian@cygnus.com)
diff --git a/MAINTAINERS b/MAINTAINERS
index dd8601b4f..046c5ea82 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -49,8 +49,7 @@ gdb/; readline/; sim/; GDB's part of include/
include/
See binutils/, gdb/, sid/, gcc/, libiberty/ etc.
-intl/; config.rhost; libiberty/; libiberty's part of include/;
-compile; depcomp; install-sh; missing; ylwrap; config/
+intl/; config.rhost; libiberty/; libiberty's part of include/
gcc: http://gcc.gnu.org
Changes need to be done in tandem with the official GCC
sources or submitted to the master file maintainer and brought
@@ -105,6 +104,13 @@ etc/; utils/;
Any global maintainer can approve changes to these
files and directories.
+compile; depcomp; install-sh; missing; ylwrap;
+config/
+ Any global maintainer can approve changes to these
+ files and directories, but they should be aware
+ that they need to be kept in sync with their
+ counterparts in the GCC repository.
+
modules file
If you understand the file format (or can cut-and-paste existing
entries), modify it. If it scares you, get someone who does
diff --git a/compile b/compile
new file mode 100755
index 000000000..ec64c6220
--- /dev/null
+++ b/compile
@@ -0,0 +1,143 @@
+#! /bin/sh
+# Wrapper for compilers which do not understand `-c -o'.
+
+scriptversion=2009-04-28.21; # UTC
+
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software
+# Foundation, Inc.
+# Written by Tom Tromey <tromey@cygnus.com>.
+#
+# 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, 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, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+case $1 in
+ '')
+ echo "$0: No command. Try \`$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: compile [--help] [--version] PROGRAM [ARGS]
+
+Wrapper for compilers which do not understand `-c -o'.
+Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
+arguments, and rename the output as expected.
+
+If you are trying to build a whole package this is not the
+right script to run: please start by reading the file `INSTALL'.
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "compile $scriptversion"
+ exit $?
+ ;;
+esac
+
+ofile=
+cfile=
+eat=
+
+for arg
+do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as `compile cc -o foo foo.c'.
+ # So we strip `-o arg' only if arg is an object.
+ eat=1
+ case $2 in
+ *.o | *.obj)
+ ofile=$2
+ ;;
+ *)
+ set x "$@" -o "$2"
+ shift
+ ;;
+ esac
+ ;;
+ *.c)
+ cfile=$1
+ set x "$@" "$1"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+done
+
+if test -z "$ofile" || test -z "$cfile"; then
+ # If no `-o' option was seen then we might have been invoked from a
+ # pattern rule where we don't need one. That is ok -- this is a
+ # normal compilation that the losing compiler can handle. If no
+ # `.c' file was seen then we are probably linking. That is also
+ # ok.
+ exec "$@"
+fi
+
+# Name of file we expect compiler to create.
+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
+
+# Create the lock directory.
+# Note: use `[/\\:.-]' here to ensure that we don't use the same name
+# that we are using for the .o file. Also, base the name on the expected
+# object file name, since that is what matters with a parallel build.
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
+while true; do
+ if mkdir "$lockdir" >/dev/null 2>&1; then
+ break
+ fi
+ sleep 1
+done
+# FIXME: race condition here if user kills between mkdir and trap.
+trap "rmdir '$lockdir'; exit 1" 1 2 15
+
+# Run the compile.
+"$@"
+ret=$?
+
+if test -f "$cofile"; then
+ mv "$cofile" "$ofile"
+elif test -f "${cofile}bj"; then
+ mv "${cofile}bj" "$ofile"
+fi
+
+rmdir "$lockdir"
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/config.rpath b/config.rpath
new file mode 100755
index 000000000..4dea75957
--- /dev/null
+++ b/config.rpath
@@ -0,0 +1,543 @@
+#! /bin/sh
+# Output a system dependent set of variables, describing how to set the
+# run time search path of shared libraries in an executable.
+#
+# Copyright 1996-2003 Free Software Foundation, Inc.
+# Taken from GNU libtool, 2001
+# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+#
+# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+#
+# The first argument passed to this file is the canonical host specification,
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
+# should be set by the caller.
+#
+# The set of defined variables is at the end of this script.
+
+# Known limitations:
+# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
+# than 256 bytes, otherwise the compiler driver will dump core. The only
+# known workaround is to choose shorter directory names for the build
+# directory and/or the installation directory.
+
+# All known linkers require a `.a' archive for static linking (except M$VC,
+# which needs '.lib').
+libext=a
+shrext=.so
+
+host="$1"
+host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
+
+wl=
+if test "$GCC" = yes; then
+ wl='-Wl,'
+else
+ case "$host_os" in
+ aix*)
+ wl='-Wl,'
+ ;;
+ mingw* | pw32* | os2*)
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ wl='-Wl,'
+ ;;
+ irix5* | irix6* | nonstopux*)
+ wl='-Wl,'
+ ;;
+ newsos6)
+ ;;
+ linux*)
+ case $CC in
+ icc|ecc)
+ wl='-Wl,'
+ ;;
+ ccc)
+ wl='-Wl,'
+ ;;
+ esac
+ ;;
+ osf3* | osf4* | osf5*)
+ wl='-Wl,'
+ ;;
+ sco3.2v5*)
+ ;;
+ solaris*)
+ wl='-Wl,'
+ ;;
+ sunos4*)
+ wl='-Qoption ld '
+ ;;
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ wl='-Wl,'
+ ;;
+ sysv4*MP*)
+ ;;
+ uts4*)
+ ;;
+ esac
+fi
+
+# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.
+
+hardcode_libdir_flag_spec=
+hardcode_libdir_separator=
+hardcode_direct=no
+hardcode_minus_L=no
+
+case "$host_os" in
+ cygwin* | mingw* | pw32*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+esac
+
+ld_shlibs=yes
+if test "$with_gnu_ld" = yes; then
+ case "$host_os" in
+ aix[3-9]*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ ld_shlibs=no
+ fi
+ ;;
+ amigaos*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
+ # that the semantics of dynamic libraries on AmigaOS, at least up
+ # to version 4, is to share data among multiple programs linked
+ # with the same dynamic library. Since this doesn't match the
+ # behavior of shared libraries on other platforms, we can use
+ # them.
+ ld_shlibs=no
+ ;;
+ beos*)
+ if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ cygwin* | mingw* | pw32*)
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec='-L$libdir'
+ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ netbsd*)
+ ;;
+ solaris* | sysv5*)
+ if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
+ ld_shlibs=no
+ elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ sunos4*)
+ hardcode_direct=yes
+ ;;
+ *)
+ if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ if test "$ld_shlibs" = yes; then
+ # Unlike libtool, we use -rpath here, not --rpath, since the documented
+ # option of GNU ld is called -rpath, not --rpath.
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ fi
+else
+ case "$host_os" in
+ aix3*)
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ hardcode_minus_L=yes
+ if test "$GCC" = yes; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ hardcode_direct=unsupported
+ fi
+ ;;
+ aix[4-9]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ else
+ aix_use_runtimelinking=no
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ esac
+ fi
+ hardcode_direct=yes
+ hardcode_libdir_separator=':'
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" && \
+ strings "$collect2name" | grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ hardcode_direct=yes
+ else
+ # We have old collect2
+ hardcode_direct=unsupported
+ hardcode_minus_L=yes
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_separator=
+ fi
+ esac
+ fi
+ # Begin _LT_AC_SYS_LIBPATH_AIX.
+ echo 'int main () { return 0; }' > conftest.c
+ ${CC} ${LDFLAGS} conftest.c -o conftest
+ aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+ if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+ fi
+ if test -z "$aix_libpath"; then
+ aix_libpath="/usr/lib:/lib"
+ fi
+ rm -f conftest.c conftest
+ # End _LT_AC_SYS_LIBPATH_AIX.
+ if test "$aix_use_runtimelinking" = yes; then
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+ else
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ fi
+ fi
+ ;;
+ amigaos*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ # see comment about different semantics on the GNU ld section
+ ld_shlibs=no
+ ;;
+ bsdi4*)
+ ;;
+ cygwin* | mingw* | pw32*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec=' '
+ libext=lib
+ ;;
+ darwin* | rhapsody*)
+ if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then
+ hardcode_direct=no
+ fi
+ ;;
+ dgux*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ ;;
+ freebsd2.2*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ ;;
+ freebsd2*)
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ ;;
+ freebsd*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ ;;
+ hpux9*)
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ hpux10* | hpux11*)
+ if test "$with_gnu_ld" = no; then
+ case "$host_cpu" in
+ hppa*64*)
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=no
+ ;;
+ ia64*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=no
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ *)
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ esac
+ fi
+ ;;
+ irix5* | irix6* | nonstopux*)
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+ netbsd*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ ;;
+ newsos6)
+ hardcode_direct=yes
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+ openbsd*)
+ hardcode_direct=yes
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ else
+ case "$host_os" in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ ;;
+ os2*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ osf3*)
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+ osf4* | osf5*)
+ if test "$GCC" = yes; then
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ # Both cc and cxx compiler support -rpath directly
+ hardcode_libdir_flag_spec='-rpath $libdir'
+ fi
+ hardcode_libdir_separator=:
+ ;;
+ sco3.2v5*)
+ ;;
+ solaris*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ sunos4*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ ;;
+ sysv4)
+ case $host_vendor in
+ sni)
+ hardcode_direct=yes # is this really true???
+ ;;
+ siemens)
+ hardcode_direct=no
+ ;;
+ motorola)
+ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ ;;
+ sysv4.3*)
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ ld_shlibs=yes
+ fi
+ ;;
+ sysv4.2uw2*)
+ hardcode_direct=yes
+ hardcode_minus_L=no
+ ;;
+ sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*)
+ ;;
+ sysv5*)
+ hardcode_libdir_flag_spec=
+ ;;
+ uts4*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ ;;
+ *)
+ ld_shlibs=no
+ ;;
+ esac
+fi
+
+# Check dynamic linker characteristics
+# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.
+libname_spec='lib$name'
+case "$host_os" in
+ aix3*)
+ ;;
+ aix[4-9]*)
+ ;;
+ amigaos*)
+ ;;
+ beos*)
+ ;;
+ bsdi4*)
+ ;;
+ cygwin* | mingw* | pw32*)
+ shrext=.dll
+ ;;
+ darwin* | rhapsody*)
+ shrext=.dylib
+ ;;
+ dgux*)
+ ;;
+ freebsd*)
+ ;;
+ gnu*)
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case "$host_cpu" in
+ ia64*)
+ shrext=.so
+ ;;
+ hppa*64*)
+ shrext=.sl
+ ;;
+ *)
+ shrext=.sl
+ ;;
+ esac
+ ;;
+ irix5* | irix6* | nonstopux*)
+ case "$host_os" in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
+ *) libsuff= shlibsuff= ;;
+ esac
+ ;;
+ esac
+ ;;
+ linux*oldld* | linux*aout* | linux*coff*)
+ ;;
+ linux*)
+ ;;
+ netbsd*)
+ ;;
+ newsos6)
+ ;;
+ nto-qnx)
+ ;;
+ openbsd*)
+ ;;
+ os2*)
+ libname_spec='$name'
+ shrext=.dll
+ ;;
+ osf3* | osf4* | osf5*)
+ ;;
+ sco3.2v5*)
+ ;;
+ solaris*)
+ ;;
+ sunos4*)
+ ;;
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ ;;
+ sysv4*MP*)
+ ;;
+ uts4*)
+ ;;
+esac
+
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
+shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
+escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+
+sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
+
+# How to pass a linker flag through the compiler.
+wl="$escaped_wl"
+
+# Static library suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally "so").
+shlibext="$shlibext"
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator="$hardcode_libdir_separator"
+
+# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct="$hardcode_direct"
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L="$hardcode_minus_L"
+
+EOF
diff --git a/config.sub b/config.sub
index 59bb593f1..78176a440 100755
--- a/config.sub
+++ b/config.sub
@@ -2,9 +2,9 @@
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-# 2011, 2012 Free Software Foundation, Inc.
+# 2011 Free Software Foundation, Inc.
-timestamp='2012-04-18'
+timestamp='2011-10-29'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -21,7 +21,9 @@ timestamp='2012-04-18'
# 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, see <http://www.gnu.org/licenses/>.
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -74,8 +76,8 @@ version="\
GNU config.sub ($timestamp)
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-Free Software Foundation, Inc.
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
+Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -130,10 +132,6 @@ case $maybe_os in
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
- android-linux)
- os=-linux-android
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
- ;;
*)
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
if [ $basic_machine != $1 ]
@@ -225,12 +223,6 @@ case $os in
-isc*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
- -lynx*178)
- os=-lynxos178
- ;;
- -lynx*5)
- os=-lynxos5
- ;;
-lynx*)
os=-lynxos
;;
@@ -255,7 +247,6 @@ case $basic_machine in
# Some are omitted here because they have special meanings below.
1750a | 580 \
| a29k \
- | aarch64 | aarch64_be \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
@@ -328,7 +319,8 @@ case $basic_machine in
c6x)
basic_machine=tic6x-unknown
;;
- m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
+ m6811 | m68hc11 | m6812 | m68hc12 | picochip)
+ # Motorola 68HC11/12.
basic_machine=$basic_machine-unknown
os=-none
;;
@@ -341,10 +333,7 @@ case $basic_machine in
strongarm | thumb | xscale)
basic_machine=arm-unknown
;;
- xgate)
- basic_machine=$basic_machine-unknown
- os=-none
- ;;
+
xscaleeb)
basic_machine=armeb-unknown
;;
@@ -367,7 +356,6 @@ case $basic_machine in
# Recognize the basic CPU types with company name.
580-* \
| a29k-* \
- | aarch64-* | aarch64_be-* \
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
@@ -731,6 +719,7 @@ case $basic_machine in
i370-ibm* | ibm*)
basic_machine=i370-ibm
;;
+# I'm not sure what "Sysv32" means. Should this be sysv3.2?
i*86v32)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv32
@@ -827,10 +816,6 @@ case $basic_machine in
ms1-*)
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
;;
- msys)
- basic_machine=i386-pc
- os=-msys
- ;;
mvs)
basic_machine=i370-ibm
os=-mvs
@@ -1358,7 +1343,7 @@ case $os in
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* | -cegcc* \
- | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -linux-android* \
| -linux-newlib* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* \
@@ -1570,6 +1555,9 @@ case $basic_machine in
;;
m68000-sun)
os=-sunos3
+ # This also exists in the configure program, but was not the
+ # default.
+ # os=-sunos4
;;
m68*-cisco)
os=-aout
diff --git a/config/ChangeLog b/config/ChangeLog
index 42fcfce99..1087ad8ca 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,38 +1,3 @@
-2012-05-29 Joseph Myers <joseph@codesourcery.com>
-
- * mt-sde: Fix typos.
- * stdint.m4: Fix typos.
- * tcl.m4: Fix typos.
-
-2012-04-03 Tristan Gingold <gingold@adacore.com>
-
- * mmap.m4: Use *vms* instead of vms*.
-
-2012-04-02 Tristan Gingold <gingold@adacore.com>
-
- * math.m4 (GCC_CHECK_MATH_FUNC): Remove if-present
- argument. Define the variable.
-
-2012-03-26 Tristan Gingold <gingold@adacore.com>
-
- * math.m4: New file.
-
-2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * weakref.m4 (GCC_CHECK_ELF_STYLE_WEAKREF): Remove
- alpha*-dec-osf*.
-
-2012-01-22 Douglas B Rupp <rupp@gnat.com>
-
- * config/mh-interix: Remove as unneeded.
- * config/picflag.m4 (i[[34567]]86-*-interix3*):
- Change triplet to i[[34567]]86-*-interix[[3-9]]*.
-
-2012-01-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- PR bootstrap/51734
- * picflag.m4: Remove s390 case statement.
-
2011-12-20 Andreas Schwab <schwab@linux-m68k.org>
* warnings.m4 (ACX_PROG_CC_WARNING_OPTS): Avoid leading dash in
@@ -40,7 +5,6 @@
2011-12-19 Andreas Schwab <schwab@linux-m68k.org>
- PR bootstrap/51388
* warnings.m4 (ACX_PROG_CC_WARNING_OPTS)
(ACX_PROG_CC_WARNING_ALMOST_PEDANTIC): Run the test without the
no- prefix.
@@ -49,14 +13,6 @@
* acx.m4 (Test for GNAT): Update comment and add quotes in final test.
-2011-11-22 Iain Sandoe <iains@gcc.gnu.org>
-
- * weakref.m4: New file.
-
-2011-11-09 Richard Henderson <rth@redhat.com>
-
- * asmcfi.m4: New file.
-
2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* mh-interix (LIBGCC2_DEBUG_CFLAGS): Remove.
@@ -69,15 +25,6 @@
* elf.m4 (target_elf): Remove *-netware*.
-2011-07-06 Uros Bizjak <ubizjak@gmail.com>
-
- * mt-alphaieee (GOCFLAGS_FOR_TARGET): Add -mieee.
-
-2011-06-15 Mike Stump <mikestump@comcast.net>
-
- PR target/49461
- * mh-darwin: Turn off -pie on darwin11 and later.
-
2011-04-20 Eric Botcazou <ebotcazou@adacore.com>
* bootstrap-lto.mk: Remove obsolete requirement.
diff --git a/config/asmcfi.m4 b/config/asmcfi.m4
deleted file mode 100644
index a725aa11d..000000000
--- a/config/asmcfi.m4
+++ /dev/null
@@ -1,15 +0,0 @@
-;; Cribbed from libffi
-
-AC_DEFUN([GCC_AS_CFI_PSEUDO_OP],
-[AC_CACHE_CHECK([assembler .cfi pseudo-op support],
- gcc_cv_as_cfi_pseudo_op, [
- gcc_cv_as_cfi_pseudo_op=unknown
- AC_TRY_COMPILE([asm (".cfi_startproc\n\t.cfi_endproc");],,
- [gcc_cv_as_cfi_pseudo_op=yes],
- [gcc_cv_as_cfi_pseudo_op=no])
- ])
- if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
- AC_DEFINE(HAVE_AS_CFI_PSEUDO_OP, 1,
- [Define if your assembler supports .cfi_* directives.])
- fi
-])
diff --git a/config/math.m4 b/config/math.m4
deleted file mode 100644
index 23835f230..000000000
--- a/config/math.m4
+++ /dev/null
@@ -1,50 +0,0 @@
-dnl GCC_CHECK_LIBM
-dnl
-dnl Check whether -lm is available. This is a pre-requisite for
-dnl GCC_CHECK_MATH_FUNC so that it will link with -lm.
-AC_DEFUN([GCC_CHECK_LIBM],
-[AC_CHECK_LIB([m],[sin])])
-
-dnl GCC_CHECK_MATH_HEADERS
-dnl
-dnl Check for math.h and complex.h. This is a pre-requisite for
-dnl GCC_CHECK_MATH_FUNC so that it includes the right headers.
-dnl (Some systems, such as AIX or OpenVMS may define macro for math
-dnl functions).
-AC_DEFUN([GCC_CHECK_MATH_HEADERS],
-[AC_CHECK_HEADERS_ONCE(math.h complex.h)])
-
-dnl GCC_CHECK_MATH_FUNC([name])
-dnl
-dnl Check whether math function NAME is available on the system (by compiling
-dnl and linking a C program) and run define HAVE_name on success.
-dnl
-dnl Note that OpenVMS system insists on including complex.h before math.h
-AC_DEFUN([GCC_CHECK_MATH_FUNC],
-[
- AC_REQUIRE([GCC_CHECK_LIBM])
- AC_REQUIRE([GCC_CHECK_MATH_HEADERS])
- AC_CACHE_CHECK([for $1], [gcc_cv_math_func_$1],
- [AC_LINK_IFELSE([
-#ifdef HAVE_COMPLEX_H
-#include <complex.h>
-#endif
-#ifdef HAVE_MATH_H
-#include <math.h>
-#endif
-
-int (*ptr)() = (int (*)())$1;
-
-int
-main ()
-{
- return 0;
-}
-],
-[gcc_cv_math_func_$1=yes],
-[gcc_cv_math_func_$1=no])])
- if test $gcc_cv_math_func_$1 = yes; then
- AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_$1),[1],
- [Define to 1 if you have the `$1' function.])
- fi
-])
diff --git a/config/mh-darwin b/config/mh-darwin
index 19bf26568..66f68b664 100644
--- a/config/mh-darwin
+++ b/config/mh-darwin
@@ -1,7 +1,5 @@
# The -mdynamic-no-pic ensures that the compiler executable is built without
# position-independent-code -- the usual default on Darwin. This fix speeds
# compiles by 3-5%.
-BOOT_CFLAGS += -mdynamic-no-pic
-# Ensure we don't try and use -pie, as it is incompatible with pch.
-BOOT_LDFLAGS += `case ${host} in *-*-darwin[1][1-9]*) echo -Wl,-no_pie ;; esac;`
+BOOT_CFLAGS += -mdynamic-no-pic
diff --git a/config/mh-interix b/config/mh-interix
new file mode 100644
index 000000000..3be195b51
--- /dev/null
+++ b/config/mh-interix
@@ -0,0 +1,2 @@
+# The shell may not be in /bin.
+SHELL = sh
diff --git a/config/mh-ppc-aix b/config/mh-ppc-aix
index a866f7fef..4a97d8172 100644
--- a/config/mh-ppc-aix
+++ b/config/mh-ppc-aix
@@ -5,4 +5,4 @@
# don't do it any more.
BOOT_ADAFLAGS = -gnatapg
BOOT_LDFLAGS = -Wl,-bbigtoc
-LDFLAGS = `case '$(CC)' in *gcc*) echo -Wl,-bbigtoc ;; esac;`
+LDFLAGS = `case $(CC) in *gcc*) echo -Wl,-bbigtoc ;; esac;`
diff --git a/config/mmap.m4 b/config/mmap.m4
deleted file mode 100644
index fba0d9d36..000000000
--- a/config/mmap.m4
+++ /dev/null
@@ -1,97 +0,0 @@
-dnl ----------------------------------------------------------------------
-dnl This whole bit snagged from gcc
-
-dnl
-dnl mmap(2) blacklisting. Some platforms provide the mmap library routine
-dnl but don't support all of the features we need from it.
-dnl
-AC_DEFUN([GCC_AC_FUNC_MMAP_BLACKLIST],
-[
-AC_CHECK_HEADER([sys/mman.h],
- [gcc_header_sys_mman_h=yes], [gcc_header_sys_mman_h=no])
-AC_CHECK_FUNC([mmap], [gcc_func_mmap=yes], [gcc_func_mmap=no])
-if test "$gcc_header_sys_mman_h" != yes \
- || test "$gcc_func_mmap" != yes; then
- gcc_cv_func_mmap_file=no
- gcc_cv_func_mmap_dev_zero=no
- gcc_cv_func_mmap_anon=no
-else
- AC_CACHE_CHECK([whether read-only mmap of a plain file works],
- gcc_cv_func_mmap_file,
- [# Add a system to this blacklist if
- # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
- # memory area containing the same data that you'd get if you applied
- # read() to the same fd. The only system known to have a problem here
- # is VMS, where text files have record structure.
- case "$host_os" in
- *vms* | ultrix*)
- gcc_cv_func_mmap_file=no ;;
- *)
- gcc_cv_func_mmap_file=yes;;
- esac])
- AC_CACHE_CHECK([whether mmap from /dev/zero works],
- gcc_cv_func_mmap_dev_zero,
- [# Add a system to this blacklist if it has mmap() but /dev/zero
- # does not exist, or if mmapping /dev/zero does not give anonymous
- # zeroed pages with both the following properties:
- # 1. If you map N consecutive pages in with one call, and then
- # unmap any subset of those pages, the pages that were not
- # explicitly unmapped remain accessible.
- # 2. If you map two adjacent blocks of memory and then unmap them
- # both at once, they must both go away.
- # Systems known to be in this category are Windows (all variants),
- # VMS, and Darwin.
- case "$host_os" in
- *vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
- gcc_cv_func_mmap_dev_zero=no ;;
- *)
- gcc_cv_func_mmap_dev_zero=yes;;
- esac])
-
- # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
- AC_CACHE_CHECK([for MAP_ANON(YMOUS)], gcc_cv_decl_map_anon,
- [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
-[#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
-],
-[int n = MAP_ANONYMOUS;])],
- gcc_cv_decl_map_anon=yes,
- gcc_cv_decl_map_anon=no)])
-
- if test $gcc_cv_decl_map_anon = no; then
- gcc_cv_func_mmap_anon=no
- else
- AC_CACHE_CHECK([whether mmap with MAP_ANON(YMOUS) works],
- gcc_cv_func_mmap_anon,
- [# Add a system to this blacklist if it has mmap() and MAP_ANON or
- # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
- # doesn't give anonymous zeroed pages with the same properties listed
- # above for use of /dev/zero.
- # Systems known to be in this category are Windows, VMS, and SCO Unix.
- case "$host_os" in
- *vms* | cygwin* | pe | mingw* | sco* | udk* )
- gcc_cv_func_mmap_anon=no ;;
- *)
- gcc_cv_func_mmap_anon=yes;;
- esac])
- fi
-fi
-
-if test $gcc_cv_func_mmap_file = yes; then
- AC_DEFINE(HAVE_MMAP_FILE, 1,
- [Define if read-only mmap of a plain file works.])
-fi
-if test $gcc_cv_func_mmap_dev_zero = yes; then
- AC_DEFINE(HAVE_MMAP_DEV_ZERO, 1,
- [Define if mmap of /dev/zero works.])
-fi
-if test $gcc_cv_func_mmap_anon = yes; then
- AC_DEFINE(HAVE_MMAP_ANON, 1,
- [Define if mmap with MAP_ANON(YMOUS) works.])
-fi
-])
diff --git a/config/mt-alphaieee b/config/mt-alphaieee
index 80c17cdc6..9c205314a 100644
--- a/config/mt-alphaieee
+++ b/config/mt-alphaieee
@@ -1,3 +1,2 @@
CFLAGS_FOR_TARGET += -mieee
CXXFLAGS_FOR_TARGET += -mieee
-GOCFLAGS_FOR_TARGET += -mieee
diff --git a/config/mt-sde b/config/mt-sde
index d6992e415..cb204203d 100644
--- a/config/mt-sde
+++ b/config/mt-sde
@@ -5,6 +5,6 @@
# as they have the D-to-I redirect for PC-relative loads. -mno-gpopt
# has two purposes: it allows libraries to be used in situations where
# $gp != our _gp, and it allows them to be built with -G8 while
-# retaining link compatibility with -G0 and -G4.
+# retaining link compability with -G0 and -G4.
CFLAGS_FOR_TARGET += -Os -minterlink-mips16 -mcode-xonly -mno-gpopt
CXXFLAGS_FOR_TARGET += -Os -minterlink-mips16 -mcode-xonly -mno-gpopt
diff --git a/config/picflag.m4 b/config/picflag.m4
index bd818125a..f6f1b444e 100644
--- a/config/picflag.m4
+++ b/config/picflag.m4
@@ -19,7 +19,7 @@ case "${$2}" in
;;
i[[34567]]86-*-cygwin* | i[[34567]]86-*-mingw* | x86_64-*-mingw*)
;;
- i[[34567]]86-*-interix[[3-9]]*)
+ i[[34567]]86-*-interix3*)
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
# Instead, we relocate shared libraries at runtime.
;;
@@ -51,6 +51,9 @@ case "${$2}" in
m68k-*-*)
$1=-fpic
;;
+ s390*-*-*)
+ $1=-fpic
+ ;;
# FIXME: Override -fPIC default in libgcc only?
sh-*-linux* | sh[[2346lbe]]*-*-linux*)
$1=-fpic
diff --git a/config/stdint.m4 b/config/stdint.m4
index 61898a75f..fbdd58619 100644
--- a/config/stdint.m4
+++ b/config/stdint.m4
@@ -18,7 +18,7 @@ dnl the "ISO C9X: 7.18 Integer types <stdint.h>" section requires the
dnl existence of an include file <stdint.h> that defines a set of
dnl typedefs, especially uint8_t,int32_t,uintptr_t.
dnl Many older installations will not provide this file, but some will
-dnl have the very same definitions in <inttypes.h>. In other environments
+dnl have the very same definitions in <inttypes.h>. In other enviroments
dnl we can use the inet-types in <sys/types.h> which would define the
dnl typedefs int8_t and u_int8_t respectivly.
dnl
diff --git a/config/tcl.m4 b/config/tcl.m4
index 59a0c7e0a..900a2ceb8 100644
--- a/config/tcl.m4
+++ b/config/tcl.m4
@@ -290,7 +290,7 @@ AC_DEFUN([SC_LOAD_TCLCONFIG], [
elif test "`uname -s`" = "Darwin"; then
# If Tcl was built as a framework, attempt to use the libraries
# from the framework at the given location so that linking works
- # against Tcl.framework installed in an arbitrary location.
+ # against Tcl.framework installed in an arbitary location.
case ${TCL_DEFS} in
*TCL_FRAMEWORK*)
if test -f "${TCL_BIN_DIR}/${TCL_LIB_FILE}"; then
@@ -373,7 +373,7 @@ AC_DEFUN([SC_LOAD_TKCONFIG], [
elif test "`uname -s`" = "Darwin"; then
# If Tk was built as a framework, attempt to use the libraries
# from the framework at the given location so that linking works
- # against Tk.framework installed in an arbitrary location.
+ # against Tk.framework installed in an arbitary location.
case ${TK_DEFS} in
*TK_FRAMEWORK*)
if test -f "${TK_BIN_DIR}/${TK_LIB_FILE}"; then
@@ -815,7 +815,7 @@ AC_DEFUN([SC_ENABLE_LANGINFO], [
#
# Defines the following variable:
#
-# MAN_FLAGS - The appropriate flags for installManPage
+# MAN_FLAGS - The apropriate flags for installManPage
# according to the user's selection.
#
#--------------------------------------------------------------------
diff --git a/config/weakref.m4 b/config/weakref.m4
deleted file mode 100644
index ecb856728..000000000
--- a/config/weakref.m4
+++ /dev/null
@@ -1,47 +0,0 @@
-
-dnl Check if the target supports weak.
-AC_DEFUN([GCC_CHECK_ATTRIBUTE_WEAK], [
- AC_CACHE_CHECK([whether the target supports weak],
- ac_cv_have_attribute_weak, [
- weakref_m4_saved_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -Werror"
- AC_TRY_COMPILE([void __attribute__((weak)) foo(void) { }],
- [], ac_cv_have_attribute_weak=yes,
- ac_cv_have_attribute_weak=no)
- CFLAGS="$weakref_m4_saved_CFLAGS"])
- if test x"$ac_cv_have_attribute_weak" = xyes; then
- AC_DEFINE(HAVE_ATTRIBUTE_WEAK, 1,
- [Define to 1 if the target supports __attribute__((weak)).])
- fi])
-
-dnl Check whether weak refs work like the ELF ones.
-dnl This means that the weak reference works without having to satify
-dnl linkage for the item.
-dnl There are targets (at least Darwin) where we have fully functional
-dnl weakrefs at runtime, but must supply the referenced item at link time.
-AC_DEFUN([GCC_CHECK_ELF_STYLE_WEAKREF], [
- AC_CACHE_CHECK([whether weak refs work like ELF],
- ac_cv_have_elf_style_weakref, [
- weakref_m4_saved_CFLAGS="$CFLAGS"
- case "${host}" in
- *-apple-darwin*) CFLAGS="$CFLAGS -Wl,-undefined,dynamic_lookup" ;;
- *) ;;
- esac
- AC_RUN_IFELSE([AC_LANG_SOURCE([[
-extern void fNotToBeFound(void) __attribute__((weak));
-int main ()
-{
- if (fNotToBeFound)
- return 1;
- else
- return 0;
-}
-]])], ac_cv_have_elf_style_weakref=yes, ac_cv_have_elf_style_weakref=no, [
-case "${host}" in
- *-apple-darwin[[89]]*) ac_cv_have_elf_style_weakref=no ;;
- *) ac_cv_have_elf_style_weakref=yes;;
-esac])CFLAGS="$weakref_m4_saved_CFLAGS"])
-if test x"$ac_cv_have_elf_style_weakref" = xyes; then
- AC_DEFINE(HAVE_ELF_STYLE_WEAKREF, 1, [Define to 1 if target has a weakref that works like the ELF one.])
-fi])
-
diff --git a/configure b/configure
index 6079e6c07..2579c9f75 100755
--- a/configure
+++ b/configure
@@ -2869,7 +2869,7 @@ case "${ENABLE_GOLD}" in
*-*-elf* | *-*-sysv4* | *-*-unixware* | *-*-eabi* | hppa*64*-*-hpux* \
| *-*-linux* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* \
| *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* \
- | *-*-solaris2* | *-*-nto* | *-*-nacl*)
+ | *-*-solaris2* | *-*-nto*)
case "${target}" in
*-*-linux*aout* | *-*-linux*oldld*)
;;
@@ -3054,7 +3054,7 @@ if test x$enable_libgomp = x ; then
;;
*-*-netbsd* | *-*-freebsd* | *-*-openbsd* | *-*-dragonfly*)
;;
- *-*-solaris2* | *-*-hpux11*)
+ *-*-solaris2* | *-*-irix6* | *-*-osf* | *-*-hpux11*)
;;
*-*-darwin* | *-*-aix*)
;;
@@ -3093,9 +3093,7 @@ case "${target}" in
noconfigdirs="$noconfigdirs target-libssp"
;;
rl78-*-*)
- # libssp uses a misaligned load to trigger a fault, but the RL78
- # doesn't fault for those - instead, it gives a build-time error
- # for explicit misaligned loads.
+ # Dereferencing -1 is a compile-time error
noconfigdirs="$noconfigdirs target-libssp"
;;
esac
@@ -3145,7 +3143,7 @@ case "${target}" in
;;
m68k-*-*)
;;
- mips*-*-rtems*)
+ mips-sgi-irix6.* | mips*-*-rtems*)
;;
mips*-*-linux*)
;;
@@ -3261,6 +3259,13 @@ case "${target}" in
rs6000-*-aix*)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
+ mips*-*-irix6*)
+ # Linking libjava exceeds command-line length limits on at least
+ # IRIX 6.2, but not on IRIX 6.5.
+ # Also, boehm-gc won't build on IRIX 6.5, according to Jeffrey Oldham
+ # <oldham@codesourcery.com>
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
*-*-lynxos*)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
@@ -3498,7 +3503,8 @@ case "${target}" in
noconfigdirs="$noconfigdirs libgui itcl ld"
;;
ia64*-*-*vms*)
- noconfigdirs="$noconfigdirs libgui itcl"
+ # No gdb or ld support yet.
+ noconfigdirs="$noconfigdirs readline libgui itcl gdb ld"
;;
i[3456789]86-w64-mingw*)
;;
@@ -5189,16 +5195,9 @@ if test "x$with_mpfr_lib" != x; then
gmplibs="-L$with_mpfr_lib $gmplibs"
fi
if test "x$with_mpfr$with_mpfr_include$with_mpfr_lib" = x && test -d ${srcdir}/mpfr; then
- # MPFR v3.1.0 moved the sources into a src sub-directory.
- if test -d ${srcdir}/mpfr/src; then
- gmplibs='-L$$r/$(HOST_SUBDIR)/mpfr/src/'"$lt_cv_objdir $gmplibs"
- gmpinc='-I$$r/$(HOST_SUBDIR)/mpfr/src -I$$s/mpfr/src '"$gmpinc"
- extra_mpc_mpfr_configure_flags='--with-mpfr-include=$$s/mpfr/src --with-mpfr-lib=$$r/$(HOST_SUBDIR)/mpfr/src/'"$lt_cv_objdir"
- else
- gmplibs='-L$$r/$(HOST_SUBDIR)/mpfr/'"$lt_cv_objdir $gmplibs"
- gmpinc='-I$$r/$(HOST_SUBDIR)/mpfr -I$$s/mpfr '"$gmpinc"
- extra_mpc_mpfr_configure_flags='--with-mpfr-include=$$s/mpfr --with-mpfr-lib=$$r/$(HOST_SUBDIR)/mpfr/'"$lt_cv_objdir"
- fi
+ gmplibs='-L$$r/$(HOST_SUBDIR)/mpfr/'"$lt_cv_objdir $gmplibs"
+ gmpinc='-I$$r/$(HOST_SUBDIR)/mpfr -I$$s/mpfr '"$gmpinc"
+ extra_mpc_mpfr_configure_flags='--with-mpfr-include=$$s/mpfr --with-mpfr-lib=$$r/$(HOST_SUBDIR)/mpfr/'"$lt_cv_objdir"
# Do not test the mpfr version. Assume that it is sufficient, since
# it is in the source tree, and the library has not been built yet
# but it would be included on the link line in the version check below
@@ -6667,11 +6666,11 @@ if test "x$CFLAGS_FOR_TARGET" = x; then
CFLAGS_FOR_TARGET=$CFLAGS
case " $CFLAGS " in
*" -O2 "*) ;;
- *) CFLAGS_FOR_TARGET="-O2 $CFLAGS_FOR_TARGET" ;;
+ *) CFLAGS_FOR_TARGET="-O2 $CFLAGS" ;;
esac
case " $CFLAGS " in
*" -g "* | *" -g3 "*) ;;
- *) CFLAGS_FOR_TARGET="-g $CFLAGS_FOR_TARGET" ;;
+ *) CFLAGS_FOR_TARGET="-g $CFLAGS" ;;
esac
fi
@@ -6680,11 +6679,11 @@ if test "x$CXXFLAGS_FOR_TARGET" = x; then
CXXFLAGS_FOR_TARGET=$CXXFLAGS
case " $CXXFLAGS " in
*" -O2 "*) ;;
- *) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS_FOR_TARGET" ;;
+ *) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS" ;;
esac
case " $CXXFLAGS " in
*" -g "* | *" -g3 "*) ;;
- *) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS_FOR_TARGET" ;;
+ *) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS" ;;
esac
fi
@@ -6874,6 +6873,18 @@ case "${enable_target_optspace}:${target}" in
;;
esac
+# Default to using --with-stabs for certain targets.
+if test x${with_stabs} = x ; then
+ case "${target}" in
+ mips*-*-irix[56]*)
+ ;;
+ mips*-*-* | alpha*-*-osf*)
+ with_stabs=yes;
+ extra_host_args="${extra_host_args} --with-stabs"
+ ;;
+ esac
+fi
+
# Some systems (e.g., one of the i386-aix systems the gas testers are
# using) don't handle "\$" correctly, so don't use it here.
tooldir='${exec_prefix}'/${target_noncanonical}
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 000000000..9d48e904e
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,3274 @@
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+# 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+# Free Software Foundation, Inc.
+#
+# This file 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 3 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; see the file COPYING3. If not see
+# <http://www.gnu.org/licenses/>.
+
+##############################################################################
+### WARNING: this file contains embedded tabs. Do not run untabify on this file.
+
+m4_include(config/acx.m4)
+m4_include(config/override.m4)
+m4_include(config/proginstall.m4)
+m4_include(config/elf.m4)
+m4_include([libtool.m4])
+m4_include([ltoptions.m4])
+m4_include([ltsugar.m4])
+m4_include([ltversion.m4])
+m4_include([lt~obsolete.m4])
+m4_include([config/cloog.m4])
+
+AC_INIT(move-if-change)
+AC_PREREQ(2.64)
+AC_DISABLE_OPTION_CHECKING
+
+progname=$0
+# if PWD already has a value, it is probably wrong.
+if test -n "$PWD" ; then PWD=`${PWDCMD-pwd}`; fi
+
+# Export original configure arguments for use by sub-configures.
+# Quote arguments with shell meta charatcers.
+TOPLEVEL_CONFIGURE_ARGUMENTS=
+set -- "$progname" "$@"
+for ac_arg
+do
+ case "$ac_arg" in
+ *" "*|*" "*|*[[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\']]*)
+ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"`
+ # if the argument is of the form -foo=baz, quote the baz part only
+ ac_arg=`echo "'$ac_arg'" | sed "s/^'\([[-a-zA-Z0-9]]*=\)/\\1'/"` ;;
+ *) ;;
+ esac
+ # Add the quoted argument to the list.
+ TOPLEVEL_CONFIGURE_ARGUMENTS="$TOPLEVEL_CONFIGURE_ARGUMENTS $ac_arg"
+done
+if test "$silent" = yes; then
+ TOPLEVEL_CONFIGURE_ARGUMENTS="$TOPLEVEL_CONFIGURE_ARGUMENTS --silent"
+fi
+# Remove the initial space we just introduced and, as these will be
+# expanded by make, quote '$'.
+TOPLEVEL_CONFIGURE_ARGUMENTS=`echo "x$TOPLEVEL_CONFIGURE_ARGUMENTS" | sed -e 's/^x *//' -e 's,\\$,$$,g'`
+AC_SUBST(TOPLEVEL_CONFIGURE_ARGUMENTS)
+
+# Find the build, host, and target systems.
+ACX_NONCANONICAL_BUILD
+ACX_NONCANONICAL_HOST
+ACX_NONCANONICAL_TARGET
+
+dnl Autoconf 2.5x and later will set a default program prefix if
+dnl --target was used, even if it was the same as --host. Disable
+dnl that behavior. This must be done before AC_CANONICAL_SYSTEM
+dnl to take effect.
+test "$host_noncanonical" = "$target_noncanonical" &&
+ test "$program_prefix$program_suffix$program_transform_name" = \
+ NONENONEs,x,x, &&
+ program_transform_name=s,y,y,
+
+AC_CANONICAL_SYSTEM
+AC_ARG_PROGRAM
+
+m4_pattern_allow([^AS_FOR_TARGET$])dnl
+m4_pattern_allow([^AS_FOR_BUILD$])dnl
+
+# Get 'install' or 'install-sh' and its variants.
+AC_PROG_INSTALL
+ACX_PROG_LN
+AC_PROG_LN_S
+AC_PROG_SED
+AC_PROG_AWK
+
+srcpwd=`cd ${srcdir} ; ${PWDCMD-pwd}`
+
+# We pass INSTALL explicitly to sub-makes. Make sure that it is not
+# a relative path.
+if test "$INSTALL" = "${srcdir}/install-sh -c"; then
+ INSTALL="${srcpwd}/install-sh -c"
+fi
+
+# Set srcdir to "." if that's what it is.
+# This is important for multilib support.
+pwd=`${PWDCMD-pwd}`
+if test "${pwd}" = "${srcpwd}" ; then
+ srcdir=.
+fi
+
+topsrcdir=$srcpwd
+
+extra_host_args=
+
+### To add a new directory to the tree, first choose whether it is a target
+### or a host dependent tool. Then put it into the appropriate list
+### (library or tools, host or target), doing a dependency sort.
+
+# Subdirs will be configured in the order listed in build_configdirs,
+# configdirs, or target_configdirs; see the serialization section below.
+
+# Dependency sorting is only needed when *configuration* must be done in
+# a particular order. In all cases a dependency should be specified in
+# the Makefile, whether or not it's implicitly specified here.
+
+# Double entries in build_configdirs, configdirs, or target_configdirs may
+# cause circular dependencies and break everything horribly.
+
+# these library is used by various programs built for the build
+# environment
+#
+build_libs="build-libiberty"
+
+# these tools are built for the build environment
+build_tools="build-texinfo build-flex build-bison build-m4 build-fixincludes"
+
+# these libraries are used by various programs built for the host environment
+#
+host_libs="intl libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp libdecnumber gmp mpfr mpc ppl cloog libelf libiconv"
+
+# these tools are built for the host environment
+# Note, the powerpc-eabi build depends on sim occurring before gdb in order to
+# know that we are building the simulator.
+# binutils, gas and ld appear in that order because it makes sense to run
+# "make check" in that particular order.
+# If --enable-gold is used, "gold" may replace "ld".
+host_tools="texinfo flex bison binutils gas ld fixincludes gcc cgen sid sim gdb gprof etc expect dejagnu m4 utils guile fastjar gnattools"
+
+# libgcj represents the runtime libraries only used by gcj.
+libgcj="target-libffi \
+ target-zlib \
+ target-libjava"
+
+# these libraries are built for the target environment, and are built after
+# the host libraries and the host tools (which may be a cross compiler)
+# Note that libiberty is not a target library.
+target_libraries="target-libgcc \
+ target-libgloss \
+ target-newlib \
+ target-libgomp \
+ target-libitm \
+ target-libstdc++-v3 \
+ target-libmudflap \
+ target-libssp \
+ target-libquadmath \
+ target-libgfortran \
+ target-boehm-gc \
+ ${libgcj} \
+ target-libobjc \
+ target-libada \
+ target-libgo"
+
+# these tools are built using the target libraries, and are intended to
+# run only in the target environment
+#
+# note: any program that *uses* libraries that are in the "target_libraries"
+# list belongs in this list.
+#
+target_tools="target-rda"
+
+################################################################################
+
+## All tools belong in one of the four categories, and are assigned above
+## We assign ${configdirs} this way to remove all embedded newlines. This
+## is important because configure will choke if they ever get through.
+## ${configdirs} is directories we build using the host tools.
+## ${target_configdirs} is directories we build using the target tools.
+configdirs=`echo ${host_libs} ${host_tools}`
+target_configdirs=`echo ${target_libraries} ${target_tools}`
+build_configdirs=`echo ${build_libs} ${build_tools}`
+
+m4_divert_text([PARSE_ARGS],
+[case $srcdir in
+ *" "*)
+m4_pushdef([AS_MESSAGE_LOG_FD], [])dnl
+ AC_MSG_ERROR([path to source, $srcdir, contains spaces])
+m4_popdef([AS_MESSAGE_LOG_FD])dnl
+ ;;
+esac
+ac_subdirs_all=`cd $srcdir && echo */configure | sed 's,/configure,,g'`
+])
+
+################################################################################
+
+srcname="gnu development package"
+
+# This gets set non-empty for some net releases of packages.
+appdirs=""
+
+# Define is_cross_compiler to save on calls to 'test'.
+is_cross_compiler=
+if test x"${host}" = x"${target}" ; then
+ is_cross_compiler=no
+else
+ is_cross_compiler=yes
+fi
+
+# Find the build and target subdir names.
+GCC_TOPLEV_SUBDIRS
+# Be sure to cover against remnants of an in-tree build.
+if test $srcdir != . && test -d $srcdir/host-${host_noncanonical}; then
+ AC_MSG_ERROR([building out of tree but $srcdir contains host-${host_noncanonical}.
+Use a pristine source tree when building in a separate tree])
+fi
+
+# Skipdirs are removed silently.
+skipdirs=
+# Noconfigdirs are removed loudly.
+noconfigdirs=""
+
+use_gnu_ld=
+# Make sure we don't let GNU ld be added if we didn't want it.
+if test x$with_gnu_ld = xno ; then
+ use_gnu_ld=no
+ noconfigdirs="$noconfigdirs ld gold"
+fi
+
+use_gnu_as=
+# Make sure we don't let GNU as be added if we didn't want it.
+if test x$with_gnu_as = xno ; then
+ use_gnu_as=no
+ noconfigdirs="$noconfigdirs gas"
+fi
+
+use_included_zlib=
+# Make sure we don't let ZLIB be added if we didn't want it.
+if test x$with_system_zlib = xyes ; then
+ use_included_zlib=no
+ noconfigdirs="$noconfigdirs zlib"
+fi
+
+# some tools are so dependent upon X11 that if we're not building with X,
+# it's not even worth trying to configure, much less build, that tool.
+
+case ${with_x} in
+ yes | "") ;; # the default value for this tree is that X11 is available
+ no)
+ skipdirs="${skipdirs} tk itcl libgui"
+ # We won't be able to build gdbtk without X.
+ enable_gdbtk=no
+ ;;
+ *) echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2 ;;
+esac
+
+# Some are only suitable for cross toolchains.
+# Remove these if host=target.
+cross_only="target-libgloss target-newlib target-opcodes"
+
+case $is_cross_compiler in
+ no) skipdirs="${skipdirs} ${cross_only}" ;;
+esac
+
+# If both --with-headers and --with-libs are specified, default to
+# --without-newlib.
+if test x"${with_headers}" != x && test x"${with_headers}" != xno \
+ && test x"${with_libs}" != x && test x"${with_libs}" != xno ; then
+ if test x"${with_newlib}" = x ; then
+ with_newlib=no
+ fi
+fi
+
+# Recognize --with-newlib/--without-newlib.
+case ${with_newlib} in
+ no) skipdirs="${skipdirs} target-newlib" ;;
+ yes) skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;;
+esac
+
+# Handle --enable-gold, --enable-ld.
+# --disable-gold [--enable-ld]
+# Build only ld. Default option.
+# --enable-gold [--enable-ld]
+# Build both gold and ld. Install gold as "ld.gold", install ld
+# as "ld.bfd" and "ld".
+# --enable-gold=default [--enable-ld]
+# Build both gold and ld. Install gold as "ld.gold" and "ld",
+# install ld as "ld.bfd".
+# --enable-gold[=default] --disable-ld
+# Build only gold, which is then installed as both "ld.gold" and "ld".
+# --enable-gold --enable-ld=default
+# Build both gold (installed as "ld.gold") and ld (installed as "ld"
+# and ld.bfd).
+# In other words, ld is default
+# --enable-gold=default --enable-ld=default
+# Error.
+
+default_ld=
+AC_ARG_ENABLE(gold,
+[AS_HELP_STRING([[--enable-gold[=ARG]]],
+ [build gold @<:@ARG={default,yes,no}@:>@])],
+ENABLE_GOLD=$enableval,
+ENABLE_GOLD=no)
+case "${ENABLE_GOLD}" in
+ yes|default)
+ # Check for ELF target.
+ is_elf=no
+ case "${target}" in
+ *-*-elf* | *-*-sysv4* | *-*-unixware* | *-*-eabi* | hppa*64*-*-hpux* \
+ | *-*-linux* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* \
+ | *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* \
+ | *-*-solaris2* | *-*-nto*)
+ case "${target}" in
+ *-*-linux*aout* | *-*-linux*oldld*)
+ ;;
+ *)
+ is_elf=yes
+ ;;
+ esac
+ esac
+
+ if test "$is_elf" = "yes"; then
+ # Check for target supported by gold.
+ case "${target}" in
+ i?86-*-* | x86_64-*-* | sparc*-*-* | powerpc*-*-* | arm*-*-*)
+ configdirs="$configdirs gold"
+ if test x${ENABLE_GOLD} = xdefault; then
+ default_ld=gold
+ fi
+ ENABLE_GOLD=yes
+ ;;
+ esac
+ fi
+ ;;
+ no)
+ ;;
+ *)
+ AC_MSG_ERROR([invalid --enable-gold argument])
+ ;;
+esac
+
+AC_ARG_ENABLE(ld,
+[AS_HELP_STRING([[--enable-ld[=ARG]]],
+ [build ld @<:@ARG={default,yes,no}@:>@])],
+ENABLE_LD=$enableval,
+ENABLE_LD=yes)
+
+case "${ENABLE_LD}" in
+ default)
+ if test x${default_ld} != x; then
+ AC_MSG_ERROR([either gold or ld can be the default ld])
+ fi
+ ;;
+ yes)
+ ;;
+ no)
+ if test x${ENABLE_GOLD} != xyes; then
+ AC_MSG_WARN([neither ld nor gold are enabled])
+ fi
+ configdirs=`echo " ${configdirs} " | sed -e 's/ ld / /'`
+ ;;
+ *)
+ AC_MSG_ERROR([invalid --enable-ld argument])
+ ;;
+esac
+
+# Configure extra directories which are host specific
+
+case "${host}" in
+ *-cygwin*)
+ configdirs="$configdirs libtermcap" ;;
+esac
+
+# A target can indicate whether a language isn't supported for some reason.
+# Only spaces may be used in this macro; not newlines or tabs.
+unsupported_languages=
+
+# Remove more programs from consideration, based on the host or
+# target this usually means that a port of the program doesn't
+# exist yet.
+
+case "${host}" in
+ i[[3456789]]86-*-msdosdjgpp*)
+ noconfigdirs="$noconfigdirs tcl tk itcl"
+ ;;
+esac
+
+
+AC_ARG_ENABLE(libquadmath,
+AS_HELP_STRING([--disable-libquadmath],
+ [do not build libquadmath directory]),
+ENABLE_LIBQUADMATH=$enableval,
+ENABLE_LIBQUADMATH=yes)
+if test "${ENABLE_LIBQUADMATH}" = "no" ; then
+ noconfigdirs="$noconfigdirs target-libquadmath"
+fi
+
+
+AC_ARG_ENABLE(libquadmath-support,
+AS_HELP_STRING([--disable-libquadmath-support],
+ [disable libquadmath support for Fortran]),
+ENABLE_LIBQUADMATH_SUPPORT=$enableval,
+ENABLE_LIBQUADMATH_SUPPORT=yes)
+enable_libquadmath_support=
+if test "${ENABLE_LIBQUADMATH_SUPPORT}" = "no" ; then
+ enable_libquadmath_support=no
+fi
+
+
+AC_ARG_ENABLE(libada,
+[AS_HELP_STRING([--enable-libada], [build libada directory])],
+ENABLE_LIBADA=$enableval,
+ENABLE_LIBADA=yes)
+if test "${ENABLE_LIBADA}" != "yes" ; then
+ noconfigdirs="$noconfigdirs gnattools"
+fi
+
+AC_ARG_ENABLE(libssp,
+[AS_HELP_STRING([--enable-libssp], [build libssp directory])],
+ENABLE_LIBSSP=$enableval,
+ENABLE_LIBSSP=yes)
+
+# Save it here so that, even in case of --enable-libgcj, if the Java
+# front-end isn't enabled, we still get libgcj disabled.
+libgcj_saved=$libgcj
+case $enable_libgcj in
+yes)
+ # If we reset it here, it won't get added to noconfigdirs in the
+ # target-specific build rules, so it will be forcibly enabled
+ # (unless the Java language itself isn't enabled).
+ libgcj=
+ ;;
+no)
+ # Make sure we get it printed in the list of not supported target libs.
+ # Don't disable libffi, though, other languages use it.
+ noconfigdirs="$noconfigdirs `echo ${libgcj} | sed -e 's/target-libffi//'`"
+ # Clear libgcj_saved so that even if java is enabled libffi won't be
+ # built.
+ libgcj_saved=
+ ;;
+esac
+
+AC_ARG_ENABLE(static-libjava,
+[AS_HELP_STRING([[--enable-static-libjava[=ARG]]],
+ [build static libjava @<:@default=no@:>@])],
+ENABLE_STATIC_LIBJAVA=$enableval,
+ENABLE_STATIC_LIBJAVA=no)
+enable_static_libjava=
+if test "${ENABLE_STATIC_LIBJAVA}" = "yes" ; then
+ enable_static_libjava=yes
+fi
+
+if test x$enable_static_libjava != xyes ; then
+ EXTRA_CONFIGARGS_LIBJAVA=--disable-static
+fi
+AC_SUBST(EXTRA_CONFIGARGS_LIBJAVA)
+
+# Disable libmudflap on some systems.
+if test x$enable_libmudflap = x ; then
+ case "${target}" in
+ *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | bfin*-*-uclinux* | *-*-kopensolaris*-gnu)
+ # Enable libmudflap by default in GNU and friends.
+ ;;
+ *-*-freebsd*)
+ # Enable libmudflap by default in FreeBSD.
+ ;;
+ *)
+ # Disable it by default everywhere else.
+ noconfigdirs="$noconfigdirs target-libmudflap"
+ ;;
+ esac
+fi
+
+# Disable libgomp on non POSIX hosted systems.
+if test x$enable_libgomp = x ; then
+ # Enable libgomp by default on hosted POSIX systems.
+ case "${target}" in
+ *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
+ ;;
+ *-*-netbsd* | *-*-freebsd* | *-*-openbsd* | *-*-dragonfly*)
+ ;;
+ *-*-solaris2* | *-*-irix6* | *-*-osf* | *-*-hpux11*)
+ ;;
+ *-*-darwin* | *-*-aix*)
+ ;;
+ *)
+ noconfigdirs="$noconfigdirs target-libgomp"
+ ;;
+ esac
+fi
+
+# Disable libitm on unsupported systems.
+if test -d ${srcdir}/libitm; then
+ if test x$enable_libitm = x; then
+ AC_MSG_CHECKING([for libitm support])
+ if (srcdir=${srcdir}/libitm; \
+ . ${srcdir}/configure.tgt; \
+ test -n "$UNSUPPORTED")
+ then
+ AC_MSG_RESULT([no])
+ noconfigdirs="$noconfigdirs target-libitm"
+ else
+ AC_MSG_RESULT([yes])
+ fi
+ fi
+fi
+
+# Disable libssp for some systems.
+case "${target}" in
+ avr-*-*)
+ # No hosted I/O support.
+ noconfigdirs="$noconfigdirs target-libssp"
+ ;;
+ powerpc-*-aix* | rs6000-*-aix*)
+ noconfigdirs="$noconfigdirs target-libssp"
+ ;;
+ rl78-*-*)
+ # Dereferencing -1 is a compile-time error
+ noconfigdirs="$noconfigdirs target-libssp"
+ ;;
+esac
+
+# Disable libstdc++-v3 for some systems.
+case "${target}" in
+ *-*-vxworks*)
+ # VxWorks uses the Dinkumware C++ library.
+ noconfigdirs="$noconfigdirs target-libstdc++-v3"
+ ;;
+ arm*-wince-pe*)
+ # the C++ libraries don't build on top of CE's C libraries
+ noconfigdirs="$noconfigdirs target-libstdc++-v3"
+ ;;
+ avr-*-*)
+ noconfigdirs="$noconfigdirs target-libstdc++-v3"
+ ;;
+esac
+
+# Disable Fortran for some systems.
+case "${target}" in
+ mmix-*-*)
+ # See <http://gcc.gnu.org/ml/gcc-patches/2004-11/msg00572.html>.
+ unsupported_languages="$unsupported_languages fortran"
+ ;;
+esac
+
+# Disable Java if libffi is not supported.
+case "${target}" in
+ alpha*-*-*)
+ ;;
+ arm*-*-*)
+ ;;
+ cris-*-*)
+ ;;
+ frv-*-*)
+ ;;
+ hppa*-*-linux*)
+ ;;
+ hppa*-*-hpux*)
+ ;;
+ i?86-*-*)
+ ;;
+ ia64*-*-*)
+ ;;
+ m32r*-*-*)
+ ;;
+ m68k-*-*)
+ ;;
+ mips-sgi-irix6.* | mips*-*-rtems*)
+ ;;
+ mips*-*-linux*)
+ ;;
+ powerpc*-*-linux*)
+ ;;
+ powerpc-*-darwin*)
+ ;;
+ powerpc-*-aix* | rs6000-*-aix*)
+ ;;
+ powerpc-*-freebsd*)
+ ;;
+ powerpc64-*-freebsd*)
+ ;;
+ powerpc*-*-rtems*)
+ ;;
+ s390-*-* | s390x-*-*)
+ ;;
+ sh-*-* | sh[[34]]*-*-*)
+ ;;
+ sh64-*-* | sh5*-*-*)
+ ;;
+ sparc*-*-*)
+ ;;
+ x86_64-*-*)
+ ;;
+ *-*-*)
+ unsupported_languages="$unsupported_languages java"
+ ;;
+esac
+
+# Disable Java, libgcj or related libraries for some systems.
+case "${target}" in
+ powerpc-*-darwin*)
+ ;;
+ i[[3456789]]86-*-darwin*)
+ ;;
+ x86_64-*-darwin[[912]]*)
+ ;;
+ *-*-darwin*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ *-*-netware*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ *-*-rtems*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ *-*-tpf*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ *-*-uclinux*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ *-*-vxworks*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ alpha*-*-*vms*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ arm-wince-pe)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ arm*-*-symbianelf*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ bfin-*-*)
+ noconfigdirs="$noconfigdirs target-boehm-gc"
+ ;;
+ cris-*-* | crisv32-*-*)
+ unsupported_languages="$unsupported_languages java"
+ case "${target}" in
+ *-*-linux*)
+ ;;
+ *) # See PR46792 regarding target-libffi.
+ noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";;
+ esac
+ ;;
+ hppa*64*-*-linux*)
+ # In this case, it's because the hppa64-linux target is for
+ # the kernel only at this point and has no libc, and thus no
+ # headers, crt*.o, etc., all of which are needed by these.
+ unsupported_languages="$unsupported_languages java"
+ ;;
+ hppa*64*-*-hpux*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ hppa*-hp-hpux11*)
+ ;;
+ hppa*-*-hpux*)
+ # According to Alexandre Oliva <aoliva@redhat.com>, libjava won't
+ # build on HP-UX 10.20.
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ ia64*-*-*vms*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ i[[3456789]]86-w64-mingw*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ i[[3456789]]86-*-mingw*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ x86_64-*-mingw*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ mmix-*-*)
+ noconfigdirs="$noconfigdirs target-libffi target-boehm-gc"
+ ;;
+ powerpc-*-aix*)
+ # copied from rs6000-*-* entry
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ rs6000-*-aix*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ mips*-*-irix6*)
+ # Linking libjava exceeds command-line length limits on at least
+ # IRIX 6.2, but not on IRIX 6.5.
+ # Also, boehm-gc won't build on IRIX 6.5, according to Jeffrey Oldham
+ # <oldham@codesourcery.com>
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+ *-*-lynxos*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
+esac
+
+# Default libgloss CPU subdirectory.
+libgloss_dir="$target_cpu"
+
+case "${target}" in
+ sh*-*-pe|mips*-*-pe|*arm-wince-pe)
+ libgloss_dir=wince
+ ;;
+ arm*-*-*)
+ libgloss_dir=arm
+ ;;
+ cris-*-* | crisv32-*-*)
+ libgloss_dir=cris
+ ;;
+ hppa*-*-*)
+ libgloss_dir=pa
+ ;;
+ i[[3456789]]86-*-*)
+ libgloss_dir=i386
+ ;;
+ m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)
+ libgloss_dir=m68hc11
+ ;;
+ m68*-*-* | fido-*-*)
+ libgloss_dir=m68k
+ ;;
+ mips*-*-*)
+ libgloss_dir=mips
+ ;;
+ powerpc*-*-*)
+ libgloss_dir=rs6000
+ ;;
+ sparc*-*-*)
+ libgloss_dir=sparc
+ ;;
+esac
+
+# Disable newlib and libgloss for various target OSes.
+case "${target}" in
+ alpha*-dec-osf*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ i[[3456789]]86-*-linux*)
+ # This section makes it possible to build newlib natively on linux.
+ # If we are using a cross compiler then don't configure newlib.
+ if test x${is_cross_compiler} != xno ; then
+ noconfigdirs="$noconfigdirs target-newlib"
+ fi
+ noconfigdirs="$noconfigdirs target-libgloss"
+ # If we are not using a cross compiler, do configure newlib.
+ # Note however, that newlib will only be configured in this situation
+ # if the --with-newlib option has been given, because otherwise
+ # 'target-newlib' will appear in skipdirs.
+ ;;
+ i[[3456789]]86-*-rdos*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ sh*-*-pe|mips*-*-pe|arm-wince-pe)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ sparc-*-sunos4*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ *-*-aix*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ *-*-beos*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ *-*-chorusos)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ *-*-dragonfly*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ *-*-freebsd*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ *-*-lynxos*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ *-*-mingw*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ *-*-netbsd*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ *-*-netware*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ *-*-tpf*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ *-*-uclinux*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ *-*-vxworks*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+esac
+
+case "${target}" in
+ *-*-chorusos)
+ ;;
+ powerpc-*-darwin*)
+ noconfigdirs="$noconfigdirs ld gas gdb gprof"
+ noconfigdirs="$noconfigdirs sim target-rda"
+ ;;
+ i[[3456789]]86-*-darwin*)
+ noconfigdirs="$noconfigdirs ld gprof"
+ noconfigdirs="$noconfigdirs sim target-rda"
+ ;;
+ x86_64-*-darwin[[912]]*)
+ noconfigdirs="$noconfigdirs ld gas gprof"
+ noconfigdirs="$noconfigdirs sim target-rda"
+ ;;
+ *-*-darwin*)
+ noconfigdirs="$noconfigdirs ld gas gdb gprof"
+ noconfigdirs="$noconfigdirs sim target-rda"
+ ;;
+ *-*-dragonfly*)
+ ;;
+ *-*-freebsd*)
+ if test "x$with_gmp" = x && test "x$with_gmp_dir" = x \
+ && test -f /usr/local/include/gmp.h; then
+ with_gmp=/usr/local
+ fi
+ ;;
+ *-*-kaos*)
+ # Remove unsupported stuff on all kaOS configurations.
+ noconfigdirs="$noconfigdirs target-libgloss"
+ ;;
+ *-*-netbsd*)
+ ;;
+ *-*-netware*)
+ ;;
+ *-*-rtems*)
+ noconfigdirs="$noconfigdirs target-libgloss"
+ ;;
+ # The tpf target doesn't support gdb yet.
+ *-*-tpf*)
+ noconfigdirs="$noconfigdirs gdb tcl tk libgui itcl"
+ ;;
+ *-*-uclinux*)
+ noconfigdirs="$noconfigdirs target-rda"
+ ;;
+ *-*-vxworks*)
+ ;;
+ alpha*-dec-osf*)
+ # ld works, but does not support shared libraries.
+ # gas doesn't generate exception information.
+ noconfigdirs="$noconfigdirs gas ld"
+ ;;
+ alpha*-*-*vms*)
+ noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
+ ;;
+ alpha*-*-*)
+ # newlib is not 64 bit ready
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+ sh*-*-pe|mips*-*-pe|*arm-wince-pe)
+ noconfigdirs="$noconfigdirs tcl tk itcl libgui sim"
+ ;;
+ arc-*-*)
+ noconfigdirs="$noconfigdirs target-libgloss"
+ ;;
+ arm-*-pe*)
+ noconfigdirs="$noconfigdirs target-libgloss"
+ ;;
+ arm-*-riscix*)
+ noconfigdirs="$noconfigdirs ld target-libgloss"
+ ;;
+ c4x-*-* | tic4x-*-*)
+ noconfigdirs="$noconfigdirs target-libgloss"
+ ;;
+ tic54x-*-*)
+ noconfigdirs="$noconfigdirs target-libgloss gdb"
+ ;;
+ cr16-*-*)
+ noconfigdirs="$noconfigdirs gdb"
+ ;;
+ d10v-*-*)
+ noconfigdirs="$noconfigdirs target-libgloss"
+ ;;
+ d30v-*-*)
+ noconfigdirs="$noconfigdirs gdb"
+ ;;
+ fr30-*-elf*)
+ noconfigdirs="$noconfigdirs gdb"
+ ;;
+ moxie-*-*)
+ noconfigdirs="$noconfigdirs gprof"
+ ;;
+ h8300*-*-*)
+ noconfigdirs="$noconfigdirs target-libgloss"
+ ;;
+ h8500-*-*)
+ noconfigdirs="$noconfigdirs target-libgloss"
+ ;;
+ hppa1.1-*-osf* | hppa1.1-*-bsd* )
+ ;;
+ hppa*64*-*-linux*)
+ ;;
+ hppa*-*-linux*)
+ ;;
+ hppa*-*-*elf* | \
+ hppa*-*-lites* | \
+ hppa*-*-openbsd* | \
+ hppa*64*-*-*)
+ ;;
+ hppa*-hp-hpux11*)
+ noconfigdirs="$noconfigdirs ld"
+ ;;
+ hppa*-*-pro*)
+ ;;
+ hppa*-*-*)
+ noconfigdirs="$noconfigdirs ld"
+ ;;
+ i960-*-*)
+ noconfigdirs="$noconfigdirs gdb"
+ ;;
+ ia64*-*-elf*)
+ # No gdb support yet.
+ noconfigdirs="$noconfigdirs readline libgui itcl gdb"
+ ;;
+ ia64*-**-hpux*)
+ # No ld support yet.
+ noconfigdirs="$noconfigdirs libgui itcl ld"
+ ;;
+ ia64*-*-*vms*)
+ # No gdb or ld support yet.
+ noconfigdirs="$noconfigdirs readline libgui itcl gdb ld"
+ ;;
+ i[[3456789]]86-w64-mingw*)
+ ;;
+ i[[3456789]]86-*-mingw*)
+ target_configdirs="$target_configdirs target-winsup"
+ ;;
+ *-*-cygwin*)
+ target_configdirs="$target_configdirs target-libtermcap target-winsup"
+ noconfigdirs="$noconfigdirs target-libgloss"
+ # always build newlib if winsup directory is present.
+ if test -d "$srcdir/winsup/cygwin"; then
+ skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
+ elif test -d "$srcdir/newlib"; then
+ echo "Warning: winsup/cygwin is missing so newlib can't be built."
+ fi
+ ;;
+ i[[3456789]]86-*-pe)
+ noconfigdirs="$noconfigdirs target-libgloss"
+ ;;
+ i[[3456789]]86-*-sco3.2v5*)
+ # The linker does not yet know about weak symbols in COFF,
+ # and is not configured to handle mixed ELF and COFF.
+ noconfigdirs="$noconfigdirs ld target-libgloss"
+ ;;
+ i[[3456789]]86-*-sco*)
+ noconfigdirs="$noconfigdirs gprof target-libgloss"
+ ;;
+ i[[3456789]]86-*-solaris2* | x86_64-*-solaris2.1[[0-9]]*)
+ noconfigdirs="$noconfigdirs target-libgloss"
+ ;;
+ i[[3456789]]86-*-sysv4*)
+ noconfigdirs="$noconfigdirs target-libgloss"
+ ;;
+ i[[3456789]]86-*-beos*)
+ noconfigdirs="$noconfigdirs gdb"
+ ;;
+ i[[3456789]]86-*-rdos*)
+ noconfigdirs="$noconfigdirs gdb"
+ ;;
+ mmix-*-*)
+ noconfigdirs="$noconfigdirs gdb"
+ ;;
+ mt-*-*)
+ noconfigdirs="$noconfigdirs sim"
+ ;;
+ powerpc-*-aix*)
+ # copied from rs6000-*-* entry
+ noconfigdirs="$noconfigdirs gprof"
+ ;;
+ powerpc*-*-winnt* | powerpc*-*-pe*)
+ target_configdirs="$target_configdirs target-winsup"
+ noconfigdirs="$noconfigdirs gdb tcl tk target-libgloss itcl"
+ # always build newlib.
+ skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
+ ;;
+ # This is temporary until we can link against shared libraries
+ powerpcle-*-solaris*)
+ noconfigdirs="$noconfigdirs gdb sim tcl tk itcl"
+ ;;
+ powerpc-*-beos*)
+ noconfigdirs="$noconfigdirs gdb"
+ ;;
+ rs6000-*-lynxos*)
+ noconfigdirs="$noconfigdirs gprof"
+ ;;
+ rs6000-*-aix*)
+ noconfigdirs="$noconfigdirs gprof"
+ ;;
+ rs6000-*-*)
+ noconfigdirs="$noconfigdirs gprof"
+ ;;
+ m68k-apollo-*)
+ noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss"
+ ;;
+ microblaze*)
+ noconfigdirs="$noconfigdirs gprof"
+ ;;
+ mips*-sde-elf*)
+ if test x$with_newlib = xyes; then
+ noconfigdirs="$noconfigdirs gprof"
+ fi
+ ;;
+ mips*-*-irix5*)
+ noconfigdirs="$noconfigdirs gprof target-libgloss"
+ ;;
+ mips*-*-irix6*)
+ noconfigdirs="$noconfigdirs gprof target-libgloss"
+ ;;
+ mips*-*-bsd*)
+ noconfigdirs="$noconfigdirs gprof target-libgloss"
+ ;;
+ mips*-*-linux*)
+ ;;
+ mips*-*-*)
+ noconfigdirs="$noconfigdirs gprof"
+ ;;
+ sh-*-* | sh64-*-*)
+ case "${target}" in
+ sh*-*-elf)
+ ;;
+ *)
+ noconfigdirs="$noconfigdirs target-libgloss" ;;
+ esac
+ ;;
+ sparc-*-sunos4*)
+ if test x${is_cross_compiler} = xno ; then
+ use_gnu_ld=no
+ fi
+ ;;
+ tic6x-*-*)
+ noconfigdirs="$noconfigdirs sim"
+ ;;
+ tilepro-*-* | tilegx-*-*)
+ noconfigdirs="$noconfigdirs sim"
+ ;;
+ v810-*-*)
+ noconfigdirs="$noconfigdirs bfd binutils gas gdb ld opcodes target-libgloss"
+ ;;
+ vax-*-*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+ ;;
+esac
+
+# If we aren't building newlib, then don't build libgloss, since libgloss
+# depends upon some newlib header files.
+case "${noconfigdirs}" in
+ *target-libgloss*) ;;
+ *target-newlib*) noconfigdirs="$noconfigdirs target-libgloss" ;;
+esac
+
+# Work in distributions that contain no compiler tools, like Autoconf.
+host_makefile_frag=/dev/null
+if test -d ${srcdir}/config ; then
+case "${host}" in
+ i[[3456789]]86-*-msdosdjgpp*)
+ host_makefile_frag="config/mh-djgpp"
+ ;;
+ *-cygwin*)
+ ACX_CHECK_CYGWIN_CAT_WORKS
+ host_makefile_frag="config/mh-cygwin"
+ ;;
+ *-mingw*)
+ host_makefile_frag="config/mh-mingw"
+ ;;
+ *-interix*)
+ host_makefile_frag="config/mh-interix"
+ ;;
+ hppa*-hp-hpux10*)
+ host_makefile_frag="config/mh-pa-hpux10"
+ ;;
+ hppa*-hp-hpux*)
+ host_makefile_frag="config/mh-pa"
+ ;;
+ hppa*-*)
+ host_makefile_frag="config/mh-pa"
+ ;;
+ *-*-darwin*)
+ host_makefile_frag="config/mh-darwin"
+ ;;
+ powerpc-*-aix*)
+ host_makefile_frag="config/mh-ppc-aix"
+ ;;
+ rs6000-*-aix*)
+ host_makefile_frag="config/mh-ppc-aix"
+ ;;
+esac
+fi
+
+if test "${build}" != "${host}" ; then
+ AR_FOR_BUILD=${AR_FOR_BUILD-ar}
+ AS_FOR_BUILD=${AS_FOR_BUILD-as}
+ CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
+ CXX_FOR_BUILD=${CXX_FOR_BUILD-g++}
+ GCJ_FOR_BUILD=${GCJ_FOR_BUILD-gcj}
+ GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
+ GOC_FOR_BUILD=${GOC_FOR_BUILD-gccgo}
+ DLLTOOL_FOR_BUILD=${DLLTOOL_FOR_BUILD-dlltool}
+ LD_FOR_BUILD=${LD_FOR_BUILD-ld}
+ NM_FOR_BUILD=${NM_FOR_BUILD-nm}
+ RANLIB_FOR_BUILD=${RANLIB_FOR_BUILD-ranlib}
+ WINDRES_FOR_BUILD=${WINDRES_FOR_BUILD-windres}
+ WINDMC_FOR_BUILD=${WINDMC_FOR_BUILD-windmc}
+else
+ AR_FOR_BUILD="\$(AR)"
+ AS_FOR_BUILD="\$(AS)"
+ CC_FOR_BUILD="\$(CC)"
+ CXX_FOR_BUILD="\$(CXX)"
+ GCJ_FOR_BUILD="\$(GCJ)"
+ GFORTRAN_FOR_BUILD="\$(GFORTRAN)"
+ GOC_FOR_BUILD="\$(GOC)"
+ DLLTOOL_FOR_BUILD="\$(DLLTOOL)"
+ LD_FOR_BUILD="\$(LD)"
+ NM_FOR_BUILD="\$(NM)"
+ RANLIB_FOR_BUILD="\$(RANLIB)"
+ WINDRES_FOR_BUILD="\$(WINDRES)"
+ WINDMC_FOR_BUILD="\$(WINDMC)"
+fi
+
+AC_PROG_CC
+AC_PROG_CXX
+
+# We must set the default linker to the linker used by gcc for the correct
+# operation of libtool. If LD is not defined and we are using gcc, try to
+# set the LD default to the ld used by gcc.
+if test -z "$LD"; then
+ if test "$GCC" = yes; then
+ case $build in
+ *-*-mingw*)
+ gcc_prog_ld=`$CC -print-prog-name=ld 2>&1 | tr -d '\015'` ;;
+ *)
+ gcc_prog_ld=`$CC -print-prog-name=ld 2>&1` ;;
+ esac
+ case $gcc_prog_ld in
+ # Accept absolute paths.
+ [[\\/]* | [A-Za-z]:[\\/]*)]
+ LD="$gcc_prog_ld" ;;
+ esac
+ fi
+fi
+
+ACX_PROG_GNAT
+ACX_PROG_CMP_IGNORE_INITIAL
+
+AC_ARG_ENABLE([bootstrap],
+[AS_HELP_STRING([--enable-bootstrap],
+ [enable bootstrapping @<:@yes if native build@:>@])],,
+enable_bootstrap=default)
+
+# Issue errors and warnings for invalid/strange bootstrap combinations.
+if test -r $srcdir/gcc/configure; then
+ have_compiler=yes
+else
+ have_compiler=no
+fi
+
+case "$have_compiler:$host:$target:$enable_bootstrap" in
+ *:*:*:no) ;;
+
+ # Default behavior. Enable bootstrap if we have a compiler
+ # and we are in a native configuration.
+ yes:$build:$build:default)
+ enable_bootstrap=yes ;;
+
+ *:*:*:default)
+ enable_bootstrap=no ;;
+
+ # We have a compiler and we are in a native configuration, bootstrap is ok
+ yes:$build:$build:yes)
+ ;;
+
+ # Other configurations, but we have a compiler. Assume the user knows
+ # what he's doing.
+ yes:*:*:yes)
+ AC_MSG_WARN([trying to bootstrap a cross compiler])
+ ;;
+
+ # No compiler: if they passed --enable-bootstrap explicitly, fail
+ no:*:*:yes)
+ AC_MSG_ERROR([cannot bootstrap without a compiler]) ;;
+
+ # Fail if wrong command line
+ *)
+ AC_MSG_ERROR([invalid option for --enable-bootstrap])
+ ;;
+esac
+
+# See if we are building gcc with C++.
+AC_ARG_ENABLE(build-with-cxx,
+[AS_HELP_STRING([--enable-build-with-cxx],
+ [build with C++ compiler instead of C compiler])],
+ENABLE_BUILD_WITH_CXX=$enableval,
+ENABLE_BUILD_WITH_CXX=no)
+
+# Build stage1 with C and build stages 2 and 3 with C++.
+AC_ARG_ENABLE(build-poststage1-with-cxx,
+[AS_HELP_STRING([--enable-build-poststage1-with-cxx],
+ [build stages 2 and 3 with C++, not C])],
+ENABLE_BUILD_POSTSTAGE1_WITH_CXX=$enableval,
+ENABLE_BUILD_POSTSTAGE1_WITH_CXX=yes)
+
+# Used for setting $lt_cv_objdir
+_LT_CHECK_OBJDIR
+
+# Check for GMP, MPFR and MPC
+gmplibs="-lmpc -lmpfr -lgmp"
+gmpinc=
+have_gmp=no
+
+# Specify a location for mpc
+# check for this first so it ends up on the link line before mpfr.
+AC_ARG_WITH(mpc,
+[AS_HELP_STRING([--with-mpc=PATH],
+ [specify prefix directory for installed MPC package.
+ Equivalent to --with-mpc-include=PATH/include
+ plus --with-mpc-lib=PATH/lib])])
+AC_ARG_WITH(mpc-include,
+[AS_HELP_STRING([--with-mpc-include=PATH],
+ [specify directory for installed MPC include files])])
+AC_ARG_WITH(mpc-lib,
+[AS_HELP_STRING([--with-mpc-lib=PATH],
+ [specify directory for the installed MPC library])])
+
+if test "x$with_mpc" != x; then
+ gmplibs="-L$with_mpc/lib $gmplibs"
+ gmpinc="-I$with_mpc/include $gmpinc"
+fi
+if test "x$with_mpc_include" != x; then
+ gmpinc="-I$with_mpc_include $gmpinc"
+fi
+if test "x$with_mpc_lib" != x; then
+ gmplibs="-L$with_mpc_lib $gmplibs"
+fi
+if test "x$with_mpc$with_mpc_include$with_mpc_lib" = x && test -d ${srcdir}/mpc; then
+ gmplibs='-L$$r/$(HOST_SUBDIR)/mpc/src/'"$lt_cv_objdir $gmplibs"
+ gmpinc='-I$$s/mpc/src '"$gmpinc"
+ # Do not test the mpc version. Assume that it is sufficient, since
+ # it is in the source tree, and the library has not been built yet
+ # but it would be included on the link line in the version check below
+ # hence making the test fail.
+ have_gmp=yes
+fi
+
+# Specify a location for mpfr
+# check for this first so it ends up on the link line before gmp.
+AC_ARG_WITH(mpfr-dir,
+[AS_HELP_STRING([--with-mpfr-dir=PATH], [this option has been REMOVED])],
+[AC_MSG_ERROR([The --with-mpfr-dir=PATH option has been removed.
+Use --with-mpfr=PATH or --with-mpfr-include=PATH plus --with-mpfr-lib=PATH])])
+
+AC_ARG_WITH(mpfr,
+[AS_HELP_STRING([--with-mpfr=PATH],
+ [specify prefix directory for installed MPFR package.
+ Equivalent to --with-mpfr-include=PATH/include
+ plus --with-mpfr-lib=PATH/lib])])
+AC_ARG_WITH(mpfr-include,
+[AS_HELP_STRING([--with-mpfr-include=PATH],
+ [specify directory for installed MPFR include files])])
+AC_ARG_WITH(mpfr-lib,
+[AS_HELP_STRING([--with-mpfr-lib=PATH],
+ [specify directory for the installed MPFR library])])
+
+if test "x$with_mpfr" != x; then
+ gmplibs="-L$with_mpfr/lib $gmplibs"
+ gmpinc="-I$with_mpfr/include $gmpinc"
+fi
+if test "x$with_mpfr_include" != x; then
+ gmpinc="-I$with_mpfr_include $gmpinc"
+fi
+if test "x$with_mpfr_lib" != x; then
+ gmplibs="-L$with_mpfr_lib $gmplibs"
+fi
+if test "x$with_mpfr$with_mpfr_include$with_mpfr_lib" = x && test -d ${srcdir}/mpfr; then
+ gmplibs='-L$$r/$(HOST_SUBDIR)/mpfr/'"$lt_cv_objdir $gmplibs"
+ gmpinc='-I$$r/$(HOST_SUBDIR)/mpfr -I$$s/mpfr '"$gmpinc"
+ extra_mpc_mpfr_configure_flags='--with-mpfr-include=$$s/mpfr --with-mpfr-lib=$$r/$(HOST_SUBDIR)/mpfr/'"$lt_cv_objdir"
+ # Do not test the mpfr version. Assume that it is sufficient, since
+ # it is in the source tree, and the library has not been built yet
+ # but it would be included on the link line in the version check below
+ # hence making the test fail.
+ have_gmp=yes
+fi
+
+# Specify a location for gmp
+AC_ARG_WITH(gmp-dir,
+[AS_HELP_STRING([--with-gmp-dir=PATH], [this option has been REMOVED])],
+[AC_MSG_ERROR([The --with-gmp-dir=PATH option has been removed.
+Use --with-gmp=PATH or --with-gmp-include=PATH plus --with-gmp-lib=PATH])])
+
+AC_ARG_WITH(gmp,
+[AS_HELP_STRING([--with-gmp=PATH],
+ [specify prefix directory for the installed GMP package.
+ Equivalent to --with-gmp-include=PATH/include
+ plus --with-gmp-lib=PATH/lib])])
+AC_ARG_WITH(gmp-include,
+[AS_HELP_STRING([--with-gmp-include=PATH],
+ [specify directory for installed GMP include files])])
+AC_ARG_WITH(gmp-lib,
+[AS_HELP_STRING([--with-gmp-lib=PATH],
+ [specify directory for the installed GMP library])])
+
+
+if test "x$with_gmp" != x; then
+ gmplibs="-L$with_gmp/lib $gmplibs"
+ gmpinc="-I$with_gmp/include $gmpinc"
+fi
+if test "x$with_gmp_include" != x; then
+ gmpinc="-I$with_gmp_include $gmpinc"
+fi
+if test "x$with_gmp_lib" != x; then
+ gmplibs="-L$with_gmp_lib $gmplibs"
+fi
+if test "x$with_gmp$with_gmp_include$with_gmp_lib" = x && test -d ${srcdir}/gmp; then
+ gmplibs='-L$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir $gmplibs"
+ gmpinc='-I$$r/$(HOST_SUBDIR)/gmp -I$$s/gmp '"$gmpinc"
+ extra_mpfr_configure_flags='--with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-gmp-lib=$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir"
+ extra_mpc_gmp_configure_flags='--with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-gmp-lib=$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir"
+ # Do not test the gmp version. Assume that it is sufficient, since
+ # it is in the source tree, and the library has not been built yet
+ # but it would be included on the link line in the version check below
+ # hence making the test fail.
+ have_gmp=yes
+fi
+
+if test -d ${srcdir}/gcc && test "x$have_gmp" = xno; then
+ have_gmp=yes
+ saved_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $gmpinc"
+ # Check for the recommended and required versions of GMP.
+ AC_MSG_CHECKING([for the correct version of gmp.h])
+ AC_TRY_COMPILE([#include "gmp.h"],[
+ #define GCC_GMP_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+ #define GCC_GMP_VERSION GCC_GMP_VERSION_NUM(__GNU_MP_VERSION,__GNU_MP_VERSION_MINOR,__GNU_MP_VERSION_PATCHLEVEL)
+ #if GCC_GMP_VERSION < GCC_GMP_VERSION_NUM(4,2,0)
+ choke me
+ #endif
+ ], [AC_TRY_COMPILE([#include <gmp.h>],[
+ #define GCC_GMP_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+ #define GCC_GMP_VERSION GCC_GMP_VERSION_NUM(__GNU_MP_VERSION,__GNU_MP_VERSION_MINOR,__GNU_MP_VERSION_PATCHLEVEL)
+ #if GCC_GMP_VERSION < GCC_GMP_VERSION_NUM(4,3,2)
+ choke me
+ #endif
+ ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])],
+ [AC_MSG_RESULT([no]); have_gmp=no])
+
+ # If we have GMP, check the MPFR version.
+ if test x"$have_gmp" = xyes; then
+ # Check for the recommended and required versions of MPFR.
+ AC_MSG_CHECKING([for the correct version of mpfr.h])
+ AC_TRY_COMPILE([#include <gmp.h>
+ #include <mpfr.h>],[
+ #if MPFR_VERSION < MPFR_VERSION_NUM(2,3,1)
+ choke me
+ #endif
+ ], [AC_TRY_COMPILE([#include <gmp.h>
+ #include <mpfr.h>],[
+ #if MPFR_VERSION < MPFR_VERSION_NUM(2,4,2)
+ choke me
+ #endif
+ ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])],
+ [AC_MSG_RESULT([no]); have_gmp=no])
+ fi
+
+ # Check for the MPC header version.
+ if test x"$have_gmp" = xyes ; then
+ # Check for the recommended and required versions of MPC.
+ AC_MSG_CHECKING([for the correct version of mpc.h])
+ AC_TRY_COMPILE([#include <mpc.h>],[
+ #if MPC_VERSION < MPC_VERSION_NUM(0,8,0)
+ choke me
+ #endif
+ ], [AC_TRY_COMPILE([#include <mpc.h>],[
+ #if MPC_VERSION < MPC_VERSION_NUM(0,8,1)
+ choke me
+ #endif
+ ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])],
+ [AC_MSG_RESULT([no]); have_gmp=no])
+ fi
+
+ # Now check the MPFR library.
+ if test x"$have_gmp" = xyes; then
+ saved_LIBS="$LIBS"
+ LIBS="$LIBS $gmplibs"
+ AC_MSG_CHECKING([for the correct version of the gmp/mpfr/mpc libraries])
+ AC_TRY_LINK([#include <mpc.h>],[
+ mpfr_t n;
+ mpfr_t x;
+ mpc_t c;
+ int t;
+ mpfr_init (n);
+ mpfr_init (x);
+ mpfr_atan2 (n, n, x, GMP_RNDN);
+ mpfr_erfc (n, x, GMP_RNDN);
+ mpfr_subnormalize (x, t, GMP_RNDN);
+ mpfr_clear(n);
+ mpfr_clear(x);
+ mpc_init2 (c, 53);
+ mpc_set_ui_ui (c, 1, 1, MPC_RNDNN);
+ mpc_cosh (c, c, MPC_RNDNN);
+ mpc_pow (c, c, c, MPC_RNDNN);
+ mpc_acosh (c, c, MPC_RNDNN);
+ mpc_clear (c);
+ ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); have_gmp=no])
+ LIBS="$saved_LIBS"
+ fi
+
+ CFLAGS="$saved_CFLAGS"
+
+# The library versions listed in the error message below should match
+# the HARD-minimums enforced above.
+ if test x$have_gmp != xyes; then
+ AC_MSG_ERROR([Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.
+Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
+their locations. Source code for these libraries can be found at
+their respective hosting sites as well as at
+ftp://gcc.gnu.org/pub/gcc/infrastructure/. See also
+http://gcc.gnu.org/install/prerequisites.html for additional info. If
+you obtained GMP, MPFR and/or MPC from a vendor distribution package,
+make sure that you have installed both the libraries and the header
+files. They may be located in separate packages.])
+ fi
+fi
+
+# Flags needed for both GMP, MPFR and/or MPC.
+AC_SUBST(gmplibs)
+AC_SUBST(gmpinc)
+AC_SUBST(extra_mpfr_configure_flags)
+AC_SUBST(extra_mpc_gmp_configure_flags)
+AC_SUBST(extra_mpc_mpfr_configure_flags)
+
+# Allow host libstdc++ to be specified for static linking with PPL.
+AC_ARG_WITH(host-libstdcxx,
+[AS_HELP_STRING([--with-host-libstdcxx=L],
+ [use linker arguments L to link with libstdc++
+ when linking with PPL])])
+
+case $with_host_libstdcxx in
+ no|yes)
+ AC_MSG_ERROR([-with-host-libstdcxx needs an argument])
+ ;;
+esac
+
+# Linker flags to use for stage1 or when not boostrapping.
+AC_ARG_WITH(stage1-ldflags,
+[AS_HELP_STRING([--with-stage1-ldflags=FLAGS], [linker flags for stage1])],
+[if test "$withval" = "no" -o "$withval" = "yes"; then
+ stage1_ldflags=
+ else
+ stage1_ldflags=$withval
+ fi],
+[stage1_ldflags=])
+AC_SUBST(stage1_ldflags)
+
+# Libraries to use for stage1 or when not bootstrapping.
+AC_ARG_WITH(stage1-libs,
+[AS_HELP_STRING([--with-stage1-libs=LIBS], [libraries for stage1])],
+[if test "$withval" = "no" -o "$withval" = "yes"; then
+ stage1_libs=
+ else
+ stage1_libs=$withval
+ fi],
+[stage1_libs=$with_host_libstdcxx])
+AC_SUBST(stage1_libs)
+
+# Libraries to use for stage2 and later builds. This defaults to the
+# argument passed to --with-host-libstdcxx.
+AC_ARG_WITH(boot-libs,
+[AS_HELP_STRING([--with-boot-libs=LIBS], [libraries for stage2 and later])],
+[if test "$withval" = "no" -o "$withval" = "yes"; then
+ poststage1_libs=
+ else
+ poststage1_libs=$withval
+ fi],
+[poststage1_libs=$with_host_libstdcxx])
+AC_SUBST(poststage1_libs)
+
+# Linker flags to use for stage2 and later builds.
+AC_ARG_WITH(boot-ldflags,
+[AS_HELP_STRING([--with-boot-ldflags=FLAGS],
+ [linker flags for stage2 and later])],
+[if test "$withval" = "no" -o "$withval" = "yes"; then
+ poststage1_ldflags=
+ else
+ poststage1_ldflags=$withval
+ fi],
+[poststage1_ldflags=
+ # In stages 2 and 3, default to linking libstdc++ and libgcc
+ # statically. But if the user explicitly specified the libraries to
+ # use, trust that they are doing what they want.
+ if test "$poststage1_libs" = ""; then
+ poststage1_ldflags="-static-libstdc++ -static-libgcc"
+ fi])
+AC_SUBST(poststage1_ldflags)
+
+# Check for PPL
+ppllibs=
+pplinc=
+pwllib=
+
+AC_ARG_WITH(ppl,
+[AS_HELP_STRING([--with-ppl=PATH],
+ [specify prefix directory for the installed PPL package.
+ Equivalent to --with-ppl-include=PATH/include
+ plus --with-ppl-lib=PATH/lib])])
+AC_ARG_WITH(ppl-include,
+[AS_HELP_STRING([--with-ppl-include=PATH],
+ [specify directory for installed PPL include files])])
+AC_ARG_WITH(ppl-lib,
+[AS_HELP_STRING([--with-ppl-lib=PATH],
+ [specify directory for the installed PPL library])])
+
+AC_ARG_ENABLE(ppl-version-check,
+[AS_HELP_STRING([--disable-ppl-version-check],
+ [disable check for PPL version])])
+
+case $with_ppl in
+ yes | no | "")
+ ;;
+ *)
+ ppllibs="-L$with_ppl/lib"
+ pplinc="-I$with_ppl/include $pplinc"
+ if test -d "$with_ppl/lib" && test -d "$with_ppl/include"; then
+ with_ppl=yes
+ else
+ AC_MSG_ERROR([cannot find directories "$with_ppl/lib" or "$with_ppl/include"])
+ fi
+ ;;
+esac
+
+if test x"$with_ppl_include" != x; then
+ pplinc="-I$with_ppl_include $pplinc"
+ with_ppl=yes
+fi
+
+if test "x$with_ppl_lib" != x; then
+ ppllibs="-L$with_ppl_lib"
+ with_ppl=yes
+fi
+
+if test x"$with_ppl$with_ppl_include$with_ppl_lib" = x && test -d ${srcdir}/ppl; then
+ if test x"$enable_watchdog" = xyes; then
+ pwllib="-lpwl"
+ fi
+ ppllibs='-L$$r/$(HOST_SUBDIR)/ppl/interfaces/C/'"$lt_cv_objdir"' -L$$r/$(HOST_SUBDIR)/ppl/src/'"$lt_cv_objdir"
+ pplinc='-I$$r/$(HOST_SUBDIR)/ppl/src -I$$r/$(HOST_SUBDIR)/ppl/interfaces/C '
+ enable_ppl_version_check=no
+ with_ppl=yes
+fi
+
+if test "x$with_ppl" != xno; then
+ if test "x$pwllib" = x; then
+ saved_LIBS="$LIBS"
+ LIBS="$LIBS $ppllibs -lstdc++ -lm"
+ AC_CHECK_LIB(pwl, PWL_handle_timeout, [pwllib="-lpwl"])
+ LIBS="$saved_LIBS"
+ fi
+
+ ppllibs="$ppllibs -lppl_c -lppl $pwllib -lgmpxx"
+
+ if test "$enable_ppl_version_check" != no; then
+ saved_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $pplinc $gmpinc"
+ AC_MSG_CHECKING([for version 0.11 (revision 0 or later) of PPL])
+ AC_TRY_COMPILE([#include "ppl_c.h"],[
+ #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 11
+ choke me
+ #endif
+ ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); ppllibs= ; pplinc= ; with_ppl=no ])
+ CFLAGS="$saved_CFLAGS"
+ fi
+fi
+
+# Flags needed for PPL
+AC_SUBST(ppllibs)
+AC_SUBST(pplinc)
+
+
+# Check for CLOOG
+
+dnl Provide configure switches and initialize clooginc & clooglibs
+dnl with user input.
+CLOOG_INIT_FLAGS
+if test "x$with_ppl" = "xno"; then
+ dnl Only execute fail-action, if CLooG has been requested.
+ CLOOG_REQUESTED([graphite_requested=yes], [graphite_requested=no])
+ if test "${graphite_requested}" = yes; then
+ AC_MSG_ERROR([Unable to find a usable PPL. See config.log for details.])
+ fi
+ with_cloog=no
+fi
+if test "x${with_cloog}" = x && test "x${with_cloog_include}" = x \
+ && test "x${with_cloog_lib}" = x && test -d ${srcdir}/cloog; then
+ clooglibs='-L$$r/$(HOST_SUBDIR)/cloog/'"$lt_cv_objdir"' '
+ clooginc='-I$$r/$(HOST_SUBDIR)/cloog/include -I$$s/cloog/include '
+fi
+if test "x$with_cloog" != "xno"; then
+ dnl The minimal version of CLooG required for Graphite.
+ dnl
+ dnl If we use CLooG-Legacy, the provided version information is
+ dnl ignored.
+ CLOOG_CHECK_VERSION(0,16,1)
+
+ dnl Only execute fail-action, if CLooG has been requested.
+ CLOOG_IF_FAILED([
+ AC_MSG_ERROR([Unable to find a usable CLooG. See config.log for details.])])
+fi
+
+# Check for LTO support.
+AC_ARG_ENABLE(lto,
+[AS_HELP_STRING([--enable-lto], [enable link time optimization support])],
+enable_lto=$enableval,
+enable_lto=yes; default_enable_lto=yes)
+
+ACX_ELF_TARGET_IFELSE([# ELF platforms build the lto-plugin always.
+ build_lto_plugin=yes
+],[if test x"$default_enable_lto" = x"yes" ; then
+ case $target in
+ *-apple-darwin9* | *-cygwin* | *-mingw*) ;;
+ # On other non-ELF platforms, LTO has yet to be validated.
+ *) enable_lto=no ;;
+ esac
+ else
+ # Apart from ELF platforms, only Windows and Darwin support LTO so far.
+ # It would also be nice to check the binutils support, but we don't
+ # have gcc_GAS_CHECK_FEATURE available here. For now, we'll just
+ # warn during gcc/ subconfigure; unless you're bootstrapping with
+ # -flto it won't be needed until after installation anyway.
+ case $target in
+ *-cygwin* | *-mingw* | *-apple-darwin*) ;;
+ *) if test x"$enable_lto" = x"yes"; then
+ AC_MSG_ERROR([LTO support is not enabled for this target.])
+ fi
+ ;;
+ esac
+ fi
+ # Among non-ELF, only Windows platforms support the lto-plugin so far.
+ # Build it unless LTO was explicitly disabled.
+ case $target in
+ *-cygwin* | *-mingw*) build_lto_plugin=$enable_lto ;;
+ *) ;;
+ esac
+])
+
+
+# By default, C is the only stage 1 language.
+stage1_languages=,c,
+
+# Target libraries that we bootstrap.
+bootstrap_target_libs=,target-libgcc,
+
+# Figure out what language subdirectories are present.
+# Look if the user specified --enable-languages="..."; if not, use
+# the environment variable $LANGUAGES if defined. $LANGUAGES might
+# go away some day.
+# NB: embedded tabs in this IF block -- do not untabify
+if test -d ${srcdir}/gcc; then
+ if test x"${enable_languages+set}" != xset; then
+ if test x"${LANGUAGES+set}" = xset; then
+ enable_languages="${LANGUAGES}"
+ echo configure.in: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2
+ else
+ enable_languages=all
+ fi
+ else
+ if test x"${enable_languages}" = x ||
+ test x"${enable_languages}" = xyes;
+ then
+ echo configure.in: --enable-languages needs at least one language argument 1>&2
+ exit 1
+ fi
+ fi
+ enable_languages=`echo "${enable_languages}" | sed -e 's/[[ ,]][[ ,]]*/,/g' -e 's/,$//'`
+
+ # 'f95' is the old name for the 'fortran' language. We issue a warning
+ # and make the substitution.
+ case ,${enable_languages}, in
+ *,f95,*)
+ echo configure.in: warning: 'f95' as language name is deprecated, use 'fortran' instead 1>&2
+ enable_languages=`echo "${enable_languages}" | sed -e 's/f95/fortran/g'`
+ ;;
+ esac
+
+ # If bootstrapping, then using --enable-build-with-cxx or
+ # --enable-build-poststage1-with-cxx requires enabling C++.
+ case ",$enable_languages,:,$ENABLE_BUILD_WITH_CXX,$ENABLE_BUILD_POSTSTAGE1_WITH_CXX,:$enable_bootstrap" in
+ *,c++,*:*:*) ;;
+ *:*,yes,*:yes)
+ if test -f ${srcdir}/gcc/cp/config-lang.in; then
+ enable_languages="${enable_languages},c++"
+ else
+ AC_MSG_ERROR([bootstrapping with --enable-build-with-cxx or --enable-build-poststage1-with-cxx requires c++ sources])
+ fi
+ ;;
+ esac
+
+ # First scan to see if an enabled language requires some other language.
+ # We assume that a given config-lang.in will list all the language
+ # front ends it requires, even if some are required indirectly.
+ for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
+ case ${lang_frag} in
+ ..) ;;
+ # The odd quoting in the next line works around
+ # an apparent bug in bash 1.12 on linux.
+ ${srcdir}/gcc/[[*]]/config-lang.in) ;;
+ *)
+ # From the config-lang.in, get $language, $lang_requires, and
+ # $lang_requires_boot_languages.
+ language=
+ lang_requires=
+ lang_requires_boot_languages=
+ . ${lang_frag}
+ for other in ${lang_requires} ${lang_requires_boot_languages}; do
+ case ,${enable_languages}, in
+ *,$other,*) ;;
+ *,all,*) ;;
+ *,$language,*)
+ echo " \`$other' language required by \`$language'; enabling" 1>&2
+ enable_languages="${enable_languages},${other}"
+ ;;
+ esac
+ done
+ for other in ${lang_requires_boot_languages} ; do
+ if test "$other" != "c"; then
+ case ,${enable_stage1_languages}, in
+ *,$other,*) ;;
+ *,all,*) ;;
+ *)
+ case ,${enable_languages}, in
+ *,$language,*)
+ echo " '$other' language required by '$language' in stage 1; enabling" 1>&2
+ enable_stage1_languages="$enable_stage1_languages,${other}"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ done
+ ;;
+ esac
+ done
+
+ new_enable_languages=,c,
+
+ # If LTO is enabled, add the LTO front end.
+ extra_host_libiberty_configure_flags=
+ if test "$enable_lto" = "yes" ; then
+ case ,${enable_languages}, in
+ *,lto,*) ;;
+ *) enable_languages="${enable_languages},lto" ;;
+ esac
+ if test "${build_lto_plugin}" = "yes" ; then
+ configdirs="$configdirs lto-plugin"
+ extra_host_libiberty_configure_flags=--enable-shared
+ fi
+ fi
+ AC_SUBST(extra_host_libiberty_configure_flags)
+
+ missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ `
+ potential_languages=,c,
+
+ enabled_target_libs=
+ disabled_target_libs=
+
+ for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
+ case ${lang_frag} in
+ ..) ;;
+ # The odd quoting in the next line works around
+ # an apparent bug in bash 1.12 on linux.
+ ${srcdir}/gcc/[[*]]/config-lang.in) ;;
+ *)
+ # From the config-lang.in, get $language, $target_libs,
+ # $lang_dirs, $boot_language, and $build_by_default
+ language=
+ target_libs=
+ lang_dirs=
+ subdir_requires=
+ boot_language=no
+ build_by_default=yes
+ . ${lang_frag}
+ if test x${language} = x; then
+ echo "${lang_frag} doesn't set \$language." 1>&2
+ exit 1
+ fi
+
+ if test "$language" = "c++"; then
+ if test "$ENABLE_BUILD_WITH_CXX" = "yes" \
+ || test "$ENABLE_BUILD_POSTSTAGE1_WITH_CXX" = "yes"; then
+ boot_language=yes
+ fi
+ fi
+
+ case ,${enable_languages}, in
+ *,${language},*)
+ # Language was explicitly selected; include it.
+ add_this_lang=yes
+ ;;
+ *,all,*)
+ # 'all' was selected, select it if it is a default language
+ add_this_lang=${build_by_default}
+ ;;
+ *)
+ add_this_lang=no
+ ;;
+ esac
+
+ # Disable languages that need other directories if these aren't available.
+ for i in $subdir_requires; do
+ test -f "$srcdir/gcc/$i/config-lang.in" && continue
+ case ,${enable_languages}, in
+ *,${language},*)
+ # Specifically requested language; tell them.
+ AC_MSG_ERROR([The gcc/$i directory contains parts of $language but is missing])
+ ;;
+ *)
+ # Silently disable.
+ add_this_lang=unsupported
+ ;;
+ esac
+ done
+
+ # Disable Ada if no preexisting GNAT is available.
+ case ,${enable_languages},:${language}:${have_gnat} in
+ *,${language},*:ada:no)
+ # Specifically requested language; tell them.
+ AC_MSG_ERROR([GNAT is required to build $language])
+ ;;
+ *:ada:no)
+ # Silently disable.
+ add_this_lang=unsupported
+ ;;
+ esac
+
+ # Disable a language that is unsupported by the target.
+ case " $unsupported_languages " in
+ *" $language "*)
+ add_this_lang=unsupported
+ ;;
+ esac
+
+ case $add_this_lang in
+ unsupported)
+ # Remove language-dependent dirs.
+ disabled_target_libs="$disabled_target_libs $target_libs"
+ noconfigdirs="$noconfigdirs $lang_dirs"
+ ;;
+ no)
+ # Remove language-dependent dirs; still show language as supported.
+ disabled_target_libs="$disabled_target_libs $target_libs"
+ noconfigdirs="$noconfigdirs $lang_dirs"
+ potential_languages="${potential_languages}${language},"
+ ;;
+ yes)
+ new_enable_languages="${new_enable_languages}${language},"
+ potential_languages="${potential_languages}${language},"
+ missing_languages=`echo "$missing_languages" | sed "s/,$language,/,/"`
+ enabled_target_libs="$enabled_target_libs $target_libs"
+ case "${boot_language}:,$enable_stage1_languages," in
+ yes:* | *:*,$language,* | *:*,yes, | *:*,all,)
+ # Add to (comma-separated) list of stage 1 languages.
+ case ",$stage1_languages," in
+ *,$language,* | ,yes, | ,all,) ;;
+ *) stage1_languages="${stage1_languages}${language}," ;;
+ esac
+ # We need to bootstrap any supporting libraries.
+ bootstrap_target_libs="${bootstrap_target_libs}${target_libs},"
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ esac
+ done
+
+ # Add target libraries which are only needed for disabled languages
+ # to noconfigdirs.
+ if test -n "$disabled_target_libs"; then
+ for dir in $disabled_target_libs; do
+ case " $enabled_target_libs " in
+ *" ${dir} "*) ;;
+ *) noconfigdirs="$noconfigdirs $dir" ;;
+ esac
+ done
+ fi
+
+ AC_ARG_ENABLE(stage1-languages,
+ [AS_HELP_STRING([[--enable-stage1-languages[=all]]],
+ [choose additional languages to build during
+ stage1. Mostly useful for compiler development])],
+ [case ,${enable_stage1_languages}, in
+ ,no,|,,)
+ # Set it to something that will have no effect in the loop below
+ enable_stage1_languages=c ;;
+ ,yes,)
+ enable_stage1_languages=`echo $new_enable_languages | \
+ sed -e "s/^,//" -e "s/,$//" ` ;;
+ *,all,*)
+ enable_stage1_languages=`echo ,$enable_stage1_languages, | \
+ sed -e "s/,all,/$new_enable_languages/" -e "s/^,//" -e "s/,$//" ` ;;
+ esac
+
+ # Add "good" languages from enable_stage1_languages to stage1_languages,
+ # while "bad" languages go in missing_languages. Leave no duplicates.
+ for i in `echo $enable_stage1_languages | sed 's/,/ /g' `; do
+ case $potential_languages in
+ *,$i,*)
+ case $stage1_languages in
+ *,$i,*) ;;
+ *) stage1_languages="$stage1_languages$i," ;;
+ esac ;;
+ *)
+ case $missing_languages in
+ *,$i,*) ;;
+ *) missing_languages="$missing_languages$i," ;;
+ esac ;;
+ esac
+ done])
+
+ # Remove leading/trailing commas that were added for simplicity
+ potential_languages=`echo "$potential_languages" | sed -e "s/^,//" -e "s/,$//"`
+ missing_languages=`echo "$missing_languages" | sed -e "s/^,//" -e "s/,$//"`
+ stage1_languages=`echo "$stage1_languages" | sed -e "s/^,//" -e "s/,$//"`
+ new_enable_languages=`echo "$new_enable_languages" | sed -e "s/^,//" -e "s/,$//"`
+
+ if test "x$missing_languages" != x; then
+ AC_MSG_ERROR([
+The following requested languages could not be built: ${missing_languages}
+Supported languages are: ${potential_languages}])
+ fi
+ if test "x$new_enable_languages" != "x$enable_languages"; then
+ echo The following languages will be built: ${new_enable_languages}
+ enable_languages="$new_enable_languages"
+ fi
+
+ AC_SUBST(stage1_languages)
+ ac_configure_args=`echo " $ac_configure_args" | sed -e "s/ '--enable-languages=[[^ ]]*'//g" -e "s/$/ '--enable-languages="$enable_languages"'/" `
+fi
+
+# Handle --disable-<component> generically.
+for dir in $configdirs $build_configdirs $target_configdirs ; do
+ dirname=`echo $dir | sed -e s/target-//g -e s/build-//g -e s/-/_/g`
+ varname=`echo $dirname | sed -e s/+/_/g`
+ if eval test x\${enable_${varname}} "=" xno ; then
+ noconfigdirs="$noconfigdirs $dir"
+ fi
+done
+
+# Check for Boehm's garbage collector
+AC_ARG_ENABLE(objc-gc,
+[AS_HELP_STRING([--enable-objc-gc],
+ [enable use of Boehm's garbage collector with the
+ GNU Objective-C runtime])],
+[case ,${enable_languages},:${enable_objc_gc}:${noconfigdirs} in
+ *,objc,*:*:yes:*target-boehm-gc*)
+ AC_MSG_ERROR([Boehm's garbage collector was requested yet not supported in this configuration])
+ ;;
+esac])
+
+# Make sure we only build Boehm's garbage collector if required.
+case ,${enable_languages},:${enable_objc_gc} in
+ *,objc,*:yes)
+ # Keep target-boehm-gc if requested for Objective-C.
+ ;;
+ *)
+ # Otherwise remove target-boehm-gc depending on target-libjava.
+ if echo " ${noconfigdirs} " | grep "target-libjava" >/dev/null 2>&1; then
+ noconfigdirs="$noconfigdirs target-boehm-gc"
+ fi
+ ;;
+esac
+
+# Remove the entries in $skipdirs and $noconfigdirs from $configdirs,
+# $build_configdirs and $target_configdirs.
+# If we have the source for $noconfigdirs entries, add them to $notsupp.
+
+notsupp=""
+for dir in . $skipdirs $noconfigdirs ; do
+ dirname=`echo $dir | sed -e s/target-//g -e s/build-//g`
+ if test $dir != . && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
+ configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"`
+ if test -r $srcdir/$dirname/configure ; then
+ if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
+ true
+ else
+ notsupp="$notsupp $dir"
+ fi
+ fi
+ fi
+ if test $dir != . && echo " ${build_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
+ build_configdirs=`echo " ${build_configdirs} " | sed -e "s/ ${dir} / /"`
+ if test -r $srcdir/$dirname/configure ; then
+ if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
+ true
+ else
+ notsupp="$notsupp $dir"
+ fi
+ fi
+ fi
+ if test $dir != . && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
+ target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"`
+ if test -r $srcdir/$dirname/configure ; then
+ if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
+ true
+ else
+ notsupp="$notsupp $dir"
+ fi
+ fi
+ fi
+done
+
+# Quietly strip out all directories which aren't configurable in this tree.
+# This relies on all configurable subdirectories being autoconfiscated, which
+# is now the case.
+build_configdirs_all="$build_configdirs"
+build_configdirs=
+for i in ${build_configdirs_all} ; do
+ j=`echo $i | sed -e s/build-//g`
+ if test -f ${srcdir}/$j/configure ; then
+ build_configdirs="${build_configdirs} $i"
+ fi
+done
+
+configdirs_all="$configdirs"
+configdirs=
+for i in ${configdirs_all} ; do
+ if test -f ${srcdir}/$i/configure ; then
+ configdirs="${configdirs} $i"
+ fi
+done
+
+target_configdirs_all="$target_configdirs"
+target_configdirs=
+for i in ${target_configdirs_all} ; do
+ j=`echo $i | sed -e s/target-//g`
+ if test -f ${srcdir}/$j/configure ; then
+ target_configdirs="${target_configdirs} $i"
+ fi
+done
+
+# Produce a warning message for the subdirs we can't configure.
+# This isn't especially interesting in the Cygnus tree, but in the individual
+# FSF releases, it's important to let people know when their machine isn't
+# supported by the one or two programs in a package.
+
+if test -n "${notsupp}" && test -z "${norecursion}" ; then
+ # If $appdirs is non-empty, at least one of those directories must still
+ # be configured, or we error out. (E.g., if the gas release supports a
+ # specified target in some subdirs but not the gas subdir, we shouldn't
+ # pretend that all is well.)
+ if test -n "$appdirs" ; then
+ for dir in $appdirs ; do
+ if test -r $dir/Makefile.in ; then
+ if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
+ appdirs=""
+ break
+ fi
+ if echo " ${target_configdirs} " | grep " target-${dir} " >/dev/null 2>&1; then
+ appdirs=""
+ break
+ fi
+ fi
+ done
+ if test -n "$appdirs" ; then
+ echo "*** This configuration is not supported by this package." 1>&2
+ exit 1
+ fi
+ fi
+ # Okay, some application will build, or we don't care to check. Still
+ # notify of subdirs not getting built.
+ echo "*** This configuration is not supported in the following subdirectories:" 1>&2
+ echo " ${notsupp}" 1>&2
+ echo " (Any other directories should still work fine.)" 1>&2
+fi
+
+case "$host" in
+ *msdosdjgpp*)
+ enable_gdbtk=no ;;
+esac
+
+# To find our prefix, in gcc_cv_tool_prefix.
+ACX_TOOL_DIRS
+
+copy_dirs=
+
+AC_ARG_WITH([build-sysroot],
+ [AS_HELP_STRING([--with-build-sysroot=SYSROOT],
+ [use sysroot as the system root during the build])],
+ [if test x"$withval" != x ; then
+ SYSROOT_CFLAGS_FOR_TARGET="--sysroot=$withval"
+ fi],
+ [SYSROOT_CFLAGS_FOR_TARGET=])
+AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)
+
+AC_ARG_WITH([debug-prefix-map],
+ [AS_HELP_STRING([--with-debug-prefix-map='A=B C=D ...'],
+ [map A to B, C to D ... in debug information])],
+ [if test x"$withval" != x; then
+ DEBUG_PREFIX_CFLAGS_FOR_TARGET=
+ for debug_map in $withval; do
+ DEBUG_PREFIX_CFLAGS_FOR_TARGET="$DEBUG_PREFIX_CFLAGS_FOR_TARGET -fdebug-prefix-map=$debug_map"
+ done
+ fi],
+ [DEBUG_PREFIX_CFLAGS_FOR_TARGET=])
+AC_SUBST(DEBUG_PREFIX_CFLAGS_FOR_TARGET)
+
+# During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
+# might be empty or "-g". We don't require a C++ compiler, so CXXFLAGS
+# might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
+# We want to ensure that TARGET libraries (which we know are built with
+# gcc) are built with "-O2 -g", so include those options when setting
+# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
+if test "x$CFLAGS_FOR_TARGET" = x; then
+ CFLAGS_FOR_TARGET=$CFLAGS
+ case " $CFLAGS " in
+ *" -O2 "*) ;;
+ *) CFLAGS_FOR_TARGET="-O2 $CFLAGS" ;;
+ esac
+ case " $CFLAGS " in
+ *" -g "* | *" -g3 "*) ;;
+ *) CFLAGS_FOR_TARGET="-g $CFLAGS" ;;
+ esac
+fi
+AC_SUBST(CFLAGS_FOR_TARGET)
+
+if test "x$CXXFLAGS_FOR_TARGET" = x; then
+ CXXFLAGS_FOR_TARGET=$CXXFLAGS
+ case " $CXXFLAGS " in
+ *" -O2 "*) ;;
+ *) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS" ;;
+ esac
+ case " $CXXFLAGS " in
+ *" -g "* | *" -g3 "*) ;;
+ *) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS" ;;
+ esac
+fi
+AC_SUBST(CXXFLAGS_FOR_TARGET)
+
+AC_SUBST(LDFLAGS_FOR_TARGET)
+
+# Handle --with-headers=XXX. If the value is not "yes", the contents of
+# the named directory are copied to $(tooldir)/sys-include.
+if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
+ if test x${is_cross_compiler} = xno ; then
+ echo 1>&2 '***' --with-headers is only supported when cross compiling
+ exit 1
+ fi
+ if test x"${with_headers}" != xyes ; then
+ x=${gcc_cv_tool_prefix}
+ copy_dirs="${copy_dirs} ${with_headers} $x/${target_noncanonical}/sys-include"
+ fi
+fi
+
+# Handle --with-libs=XXX. If the value is not "yes", the contents of
+# the name directories are copied to $(tooldir)/lib. Multiple directories
+# are permitted.
+if test x"${with_libs}" != x && test x"${with_libs}" != xno ; then
+ if test x${is_cross_compiler} = xno ; then
+ echo 1>&2 '***' --with-libs is only supported when cross compiling
+ exit 1
+ fi
+ if test x"${with_libs}" != xyes ; then
+ # Copy the libraries in reverse order, so that files in the first named
+ # library override files in subsequent libraries.
+ x=${gcc_cv_tool_prefix}
+ for l in ${with_libs}; do
+ copy_dirs="$l $x/${target_noncanonical}/lib ${copy_dirs}"
+ done
+ fi
+fi
+
+# Set with_gnu_as, with_gnu_ld, and with_system_zlib as appropriate.
+#
+# This is done by determining whether or not the appropriate directory
+# is available, and by checking whether or not specific configurations
+# have requested that this magic not happen.
+#
+# The command line options always override the explicit settings in
+# configure.in, and the settings in configure.in override this magic.
+#
+# If the default for a toolchain is to use GNU as and ld, and you don't
+# want to do that, then you should use the --without-gnu-as and
+# --without-gnu-ld options for the configure script. Similarly, if
+# the default is to use the included zlib and you don't want to do that,
+# you should use the --with-system-zlib option for the configure script.
+
+if test x${use_gnu_as} = x &&
+ echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then
+ with_gnu_as=yes
+ extra_host_args="$extra_host_args --with-gnu-as"
+fi
+
+if test x${use_gnu_ld} = x &&
+ echo " ${configdirs} " | egrep " (go)?ld " > /dev/null 2>&1 ; then
+ with_gnu_ld=yes
+ extra_host_args="$extra_host_args --with-gnu-ld"
+fi
+
+if test x${use_included_zlib} = x &&
+ echo " ${configdirs} " | grep " zlib " > /dev/null 2>&1 ; then
+ :
+else
+ with_system_zlib=yes
+ extra_host_args="$extra_host_args --with-system-zlib"
+fi
+
+# If using newlib, add --with-newlib to the extra_host_args so that gcc/configure
+# can detect this case.
+
+if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 ; then
+ with_newlib=yes
+ extra_host_args="$extra_host_args --with-newlib"
+fi
+
+# Handle ${copy_dirs}
+set fnord ${copy_dirs}
+shift
+while test $# != 0 ; do
+ if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then
+ :
+ else
+ echo Copying $1 to $2
+
+ # Use the install script to create the directory and all required
+ # parent directories.
+ if test -d $2 ; then
+ :
+ else
+ echo >config.temp
+ ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED
+ fi
+
+ # Copy the directory, assuming we have tar.
+ # FIXME: Should we use B in the second tar? Not all systems support it.
+ (cd $1; tar -cf - .) | (cd $2; tar -xpf -)
+
+ # It is the responsibility of the user to correctly adjust all
+ # symlinks. If somebody can figure out how to handle them correctly
+ # here, feel free to add the code.
+
+ echo $1 > $2/COPIED
+ fi
+ shift; shift
+done
+
+# Determine a target-dependent exec_prefix that the installed
+# gcc will search in. Keep this list sorted by triplet, with
+# the *-*-osname triplets last.
+md_exec_prefix=
+case "${target}" in
+ i[[34567]]86-pc-msdosdjgpp*)
+ md_exec_prefix=/dev/env/DJDIR/bin
+ ;;
+ *-*-hpux* | \
+ *-*-nto-qnx* | \
+ *-*-solaris2*)
+ md_exec_prefix=/usr/ccs/bin
+ ;;
+esac
+
+extra_arflags_for_target=
+extra_nmflags_for_target=
+extra_ranlibflags_for_target=
+target_makefile_frag=/dev/null
+case "${target}" in
+ spu-*-*)
+ target_makefile_frag="config/mt-spu"
+ ;;
+ mips*-sde-elf*)
+ target_makefile_frag="config/mt-sde"
+ ;;
+ mipsisa*-*-elfoabi*)
+ target_makefile_frag="config/mt-mips-elfoabi"
+ ;;
+ mips*-*-*linux* | mips*-*-gnu*)
+ target_makefile_frag="config/mt-mips-gnu"
+ ;;
+ *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
+ target_makefile_frag="config/mt-gnu"
+ ;;
+ *-*-aix4.[[3456789]]* | *-*-aix[[56789]].*)
+ # nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm
+ # commands to handle both 32-bit and 64-bit objects. These flags are
+ # harmless if we're using GNU nm or ar.
+ extra_arflags_for_target=" -X32_64"
+ extra_nmflags_for_target=" -B -X32_64"
+ ;;
+ *-*-darwin[[3-9]]*)
+ # ranlib before Darwin10 requires the -c flag to look at common symbols.
+ extra_ranlibflags_for_target=" -c"
+ ;;
+esac
+
+alphaieee_frag=/dev/null
+case $target in
+ alpha*-*-*)
+ # This just makes sure to use the -mieee option to build target libs.
+ # This should probably be set individually by each library.
+ alphaieee_frag="config/mt-alphaieee"
+ ;;
+esac
+
+# If --enable-target-optspace always use -Os instead of -O2 to build
+# the target libraries, similarly if it is not specified, use -Os
+# on selected platforms.
+ospace_frag=/dev/null
+case "${enable_target_optspace}:${target}" in
+ yes:*)
+ ospace_frag="config/mt-ospace"
+ ;;
+ :d30v-*)
+ ospace_frag="config/mt-d30v"
+ ;;
+ :m32r-* | :d10v-* | :fr30-*)
+ ospace_frag="config/mt-ospace"
+ ;;
+ no:* | :*)
+ ;;
+ *)
+ echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2
+ ;;
+esac
+
+# Default to using --with-stabs for certain targets.
+if test x${with_stabs} = x ; then
+ case "${target}" in
+ mips*-*-irix[[56]]*)
+ ;;
+ mips*-*-* | alpha*-*-osf*)
+ with_stabs=yes;
+ extra_host_args="${extra_host_args} --with-stabs"
+ ;;
+ esac
+fi
+
+# Some systems (e.g., one of the i386-aix systems the gas testers are
+# using) don't handle "\$" correctly, so don't use it here.
+tooldir='${exec_prefix}'/${target_noncanonical}
+build_tooldir=${tooldir}
+
+# Create a .gdbinit file which runs the one in srcdir
+# and tells GDB to look there for source files.
+
+if test -r ${srcdir}/.gdbinit ; then
+ case ${srcdir} in
+ .) ;;
+ *) cat > ./.gdbinit <<EOF
+# ${NO_EDIT}
+dir ${srcdir}
+dir .
+source ${srcdir}/.gdbinit
+EOF
+ ;;
+ esac
+fi
+
+# Make sure that the compiler is able to generate an executable. If it
+# can't, we are probably in trouble. We don't care whether we can run the
+# executable--we might be using a cross compiler--we only care whether it
+# can be created. At this point the main configure script has set CC.
+we_are_ok=no
+echo "int main () { return 0; }" > conftest.c
+${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c
+if test $? = 0 ; then
+ if test -s conftest || test -s conftest.exe ; then
+ we_are_ok=yes
+ fi
+fi
+case $we_are_ok in
+ no)
+ echo 1>&2 "*** The command '${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c' failed."
+ echo 1>&2 "*** You must set the environment variable CC to a working compiler."
+ rm -f conftest*
+ exit 1
+ ;;
+esac
+rm -f conftest*
+
+# Decide which environment variable is used to find dynamic libraries.
+case "${host}" in
+ *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
+ *-*-darwin*) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
+ *-*-mingw* | *-*-cygwin ) RPATH_ENVVAR=PATH ;;
+ *) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
+esac
+
+# On systems where the dynamic library environment variable is PATH,
+# gcc/ will put dynamic libraries into a subdirectory to avoid adding
+# built executables to PATH.
+if test "$RPATH_ENVVAR" = PATH; then
+ GCC_SHLIB_SUBDIR=/shlib
+else
+ GCC_SHLIB_SUBDIR=
+fi
+
+# Record target_configdirs and the configure arguments for target and
+# build configuration in Makefile.
+target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
+build_configdirs=`echo "${build_configdirs}" | sed -e 's/build-//g'`
+
+# If we are building libgomp, bootstrap it.
+if echo " ${target_configdirs} " | grep " libgomp " > /dev/null 2>&1 ; then
+ bootstrap_target_libs=${bootstrap_target_libs}target-libgomp,
+fi
+
+# Determine whether gdb needs tk/tcl or not.
+# Use 'maybe' since enable_gdbtk might be true even if tk isn't available
+# and in that case we want gdb to be built without tk. Ugh!
+# In fact I believe gdb is the *only* package directly dependent on tk,
+# so we should be able to put the 'maybe's in unconditionally and
+# leave out the maybe dependencies when enable_gdbtk is false. I'm not
+# 100% sure that that's safe though.
+
+gdb_tk="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-libgui"
+case "$enable_gdbtk" in
+ no)
+ GDB_TK="" ;;
+ yes)
+ GDB_TK="${gdb_tk}" ;;
+ *)
+ # Only add the dependency on gdbtk when GDBtk is part of the gdb
+ # distro. Eventually someone will fix this and move Insight, nee
+ # gdbtk to a separate directory.
+ if test -d ${srcdir}/gdb/gdbtk ; then
+ GDB_TK="${gdb_tk}"
+ else
+ GDB_TK=""
+ fi
+ ;;
+esac
+CONFIGURE_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-configure-/g`
+INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-install-/g`
+
+# Strip out unwanted targets.
+
+# While at that, we remove Makefiles if we were started for recursive
+# configuration, so that the top-level Makefile reconfigures them,
+# like we used to do when configure itself was recursive.
+
+# Loop over modules. We used to use the "$extrasub" feature from Autoconf
+# but now we're fixing up the Makefile ourselves with the additional
+# commands passed to AC_CONFIG_FILES. Use separate variables
+# extrasub-{build,host,target} not because there is any reason to split
+# the substitutions up that way, but only to remain below the limit of
+# 99 commands in a script, for HP-UX sed.
+# Do not nest @if/@endif pairs, because configure will not warn you at all.
+
+case "$enable_bootstrap:$ENABLE_GOLD: $configdirs :,$stage1_languages," in
+ yes:yes:*\ gold\ *:*,c++,*) ;;
+ yes:yes:*\ gold\ *:*)
+ AC_MSG_ERROR([in a combined tree, bootstrapping with --enable-gold requires c++ in stage1_languages])
+ ;;
+esac
+
+# Adjust the toplevel makefile according to whether bootstrap was selected.
+case $enable_bootstrap in
+ yes)
+ bootstrap_suffix=bootstrap
+ BUILD_CONFIG=bootstrap-debug
+ ;;
+ no)
+ bootstrap_suffix=no-bootstrap
+ BUILD_CONFIG=
+ ;;
+esac
+
+AC_MSG_CHECKING(for default BUILD_CONFIG)
+
+AC_ARG_WITH([build-config],
+ [AS_HELP_STRING([--with-build-config='NAME NAME2...'],
+ [use config/NAME.mk build configuration])],
+ [case $with_build_config in
+ yes) with_build_config= ;;
+ no) with_build_config= BUILD_CONFIG= ;;
+ esac])
+
+if test "x${with_build_config}" != x; then
+ BUILD_CONFIG=$with_build_config
+else
+ case $BUILD_CONFIG in
+ bootstrap-debug)
+ if echo "int f (void) { return 0; }" > conftest.c &&
+ ${CC} -c conftest.c &&
+ mv conftest.o conftest.o.g0 &&
+ ${CC} -c -g conftest.c &&
+ mv conftest.o conftest.o.g &&
+ ${srcdir}/contrib/compare-debug conftest.o.g0 conftest.o.g > /dev/null 2>&1; then
+ :
+ else
+ BUILD_CONFIG=
+ fi
+ rm -f conftest.c conftest.o conftest.o.g0 conftest.o.g
+ ;;
+ esac
+fi
+AC_MSG_RESULT($BUILD_CONFIG)
+AC_SUBST(BUILD_CONFIG)
+
+extrasub_build=
+for module in ${build_configdirs} ; do
+ if test -z "${no_recursion}" \
+ && test -f ${build_subdir}/${module}/Makefile; then
+ echo 1>&2 "*** removing ${build_subdir}/${module}/Makefile to force reconfigure"
+ rm -f ${build_subdir}/${module}/Makefile
+ fi
+ extrasub_build="$extrasub_build
+/^@if build-$module\$/d
+/^@endif build-$module\$/d
+/^@if build-$module-$bootstrap_suffix\$/d
+/^@endif build-$module-$bootstrap_suffix\$/d"
+done
+extrasub_host=
+for module in ${configdirs} ; do
+ if test -z "${no_recursion}"; then
+ for file in stage*-${module}/Makefile prev-${module}/Makefile ${module}/Makefile; do
+ if test -f ${file}; then
+ echo 1>&2 "*** removing ${file} to force reconfigure"
+ rm -f ${file}
+ fi
+ done
+ fi
+ extrasub_host="$extrasub_host
+/^@if $module\$/d
+/^@endif $module\$/d
+/^@if $module-$bootstrap_suffix\$/d
+/^@endif $module-$bootstrap_suffix\$/d"
+done
+extrasub_target=
+for module in ${target_configdirs} ; do
+ if test -z "${no_recursion}" \
+ && test -f ${target_subdir}/${module}/Makefile; then
+ echo 1>&2 "*** removing ${target_subdir}/${module}/Makefile to force reconfigure"
+ rm -f ${target_subdir}/${module}/Makefile
+ fi
+
+ # We only bootstrap target libraries listed in bootstrap_target_libs.
+ case $bootstrap_target_libs in
+ *,target-$module,*) target_bootstrap_suffix=$bootstrap_suffix ;;
+ *) target_bootstrap_suffix=no-bootstrap ;;
+ esac
+
+ extrasub_target="$extrasub_target
+/^@if target-$module\$/d
+/^@endif target-$module\$/d
+/^@if target-$module-$target_bootstrap_suffix\$/d
+/^@endif target-$module-$target_bootstrap_suffix\$/d"
+done
+
+# Do the final fixup along with target modules.
+extrasub_target="$extrasub_target
+/^@if /,/^@endif /d"
+
+# Create the serialization dependencies. This uses a temporary file.
+
+AC_ARG_ENABLE([serial-configure],
+[AS_HELP_STRING([[--enable-serial-[{host,target,build}-]configure]],
+ [force sequential configuration of
+ sub-packages for the host, target or build
+ machine, or all sub-packages])])
+
+case ${enable_serial_configure} in
+ yes)
+ enable_serial_build_configure=yes
+ enable_serial_host_configure=yes
+ enable_serial_target_configure=yes
+ ;;
+esac
+
+# These force 'configure's to be done one at a time, to avoid problems
+# with contention over a shared config.cache.
+rm -f serdep.tmp
+echo '# serdep.tmp' > serdep.tmp
+olditem=
+test "x${enable_serial_build_configure}" = xyes &&
+for item in ${build_configdirs} ; do
+ case ${olditem} in
+ "") ;;
+ *) echo "configure-build-${item}: configure-build-${olditem}" >> serdep.tmp ;;
+ esac
+ olditem=${item}
+done
+olditem=
+test "x${enable_serial_host_configure}" = xyes &&
+for item in ${configdirs} ; do
+ case ${olditem} in
+ "") ;;
+ *) echo "configure-${item}: configure-${olditem}" >> serdep.tmp ;;
+ esac
+ olditem=${item}
+done
+olditem=
+test "x${enable_serial_target_configure}" = xyes &&
+for item in ${target_configdirs} ; do
+ case ${olditem} in
+ "") ;;
+ *) echo "configure-target-${item}: configure-target-${olditem}" >> serdep.tmp ;;
+ esac
+ olditem=${item}
+done
+serialization_dependencies=serdep.tmp
+AC_SUBST_FILE(serialization_dependencies)
+
+# Base args. Strip norecursion, cache-file, srcdir, host, build,
+# target, nonopt, and variable assignments. These are the ones we
+# might not want to pass down to subconfigures. The exception being
+# --cache-file=/dev/null, which is used to turn off the use of cache
+# files altogether, and which should be passed on to subconfigures.
+# Also strip program-prefix, program-suffix, and program-transform-name,
+# so that we can pass down a consistent program-transform-name.
+baseargs=
+tbaseargs=
+keep_next=no
+skip_next=no
+eval "set -- $ac_configure_args"
+for ac_arg
+do
+ if test X"$skip_next" = X"yes"; then
+ skip_next=no
+ continue
+ fi
+ if test X"$keep_next" = X"yes"; then
+ case $ac_arg in
+ *\'*)
+ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ baseargs="$baseargs '$ac_arg'"
+ tbaseargs="$tbaseargs '$ac_arg'"
+ keep_next=no
+ continue
+ fi
+
+ # Handle separated arguments. Based on the logic generated by
+ # autoconf 2.59.
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ separate_arg=no
+ ;;
+ -*)
+ separate_arg=yes
+ ;;
+ *)
+ separate_arg=no
+ ;;
+ esac
+
+ skip_targ=no
+ case $ac_arg in
+changequote(,)
+ --with-* | --without-*)
+ libopt=`echo "$ac_arg" | sed -e 's,^--[^-_]*[-_],,' -e 's,=.*$,,'`
+
+ case $libopt in
+ *[-_]include)
+ lib=`echo "$libopt" | sed 's,[-_]include$,,'`
+ ;;
+ *[-_]lib)
+ lib=`echo "$libopt" | sed 's,[-_]lib$,,'`
+ ;;
+ *)
+ lib=$libopt
+ ;;
+ esac
+changequote([,])
+
+ case $lib in
+ mpc | mpfr | gmp | ppl | cloog)
+ # If we're processing --with-$lib, --with-$lib-include or
+ # --with-$lib-lib, for one of the libs above, and target is
+ # different from host, don't pass the current argument to any
+ # target library's configure.
+ if test x$is_cross_compiler = xyes; then
+ skip_targ=yes
+ fi
+ ;;
+ esac
+ ;;
+ esac
+
+ case "$ac_arg" in
+ --cache-file=/dev/null | \
+ -cache-file=/dev/null )
+ # Handled here to avoid the test to skip args below.
+ baseargs="$baseargs '$ac_arg'"
+ tbaseargs="$tbaseargs '$ac_arg'"
+ # Assert: $separate_arg should always be no.
+ keep_next=$separate_arg
+ ;;
+ --no*)
+ continue
+ ;;
+ --c* | \
+ --sr* | \
+ --ho* | \
+ --bu* | \
+ --t* | \
+ --program-* | \
+ -cache_file* | \
+ -srcdir* | \
+ -host* | \
+ -build* | \
+ -target* | \
+ -program-prefix* | \
+ -program-suffix* | \
+ -program-transform-name* )
+ skip_next=$separate_arg
+ continue
+ ;;
+ -*)
+ # An option. Add it.
+ case $ac_arg in
+ *\'*)
+ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ baseargs="$baseargs '$ac_arg'"
+ if test X"$skip_targ" = Xno; then
+ tbaseargs="$tbaseargs '$ac_arg'"
+ fi
+ keep_next=$separate_arg
+ ;;
+ *)
+ # Either a variable assignment, or a nonopt (triplet). Don't
+ # pass it down; let the Makefile handle this.
+ continue
+ ;;
+ esac
+done
+# Remove the initial space we just introduced and, as these will be
+# expanded by make, quote '$'.
+baseargs=`echo "x$baseargs" | sed -e 's/^x *//' -e 's,\\$,$$,g'`
+
+# Add in --program-transform-name, after --program-prefix and
+# --program-suffix have been applied to it. Autoconf has already
+# doubled dollar signs and backslashes in program_transform_name; we want
+# the backslashes un-doubled, and then the entire thing wrapped in single
+# quotes, because this will be expanded first by make and then by the shell.
+# Also, because we want to override the logic in subdir configure scripts to
+# choose program_transform_name, replace any s,x,x, with s,y,y,.
+sed -e "s,\\\\\\\\,\\\\,g; s,','\\\\'',g; s/s,x,x,/s,y,y,/" <<EOF_SED > conftestsed.out
+${program_transform_name}
+EOF_SED
+gcc_transform_name=`cat conftestsed.out`
+rm -f conftestsed.out
+baseargs="$baseargs --program-transform-name='${gcc_transform_name}'"
+tbaseargs="$tbaseargs --program-transform-name='${gcc_transform_name}'"
+if test "$silent" = yes; then
+ baseargs="$baseargs --silent"
+ tbaseargs="$tbaseargs --silent"
+fi
+baseargs="$baseargs --disable-option-checking"
+tbaseargs="$tbaseargs --disable-option-checking"
+
+# Record and document user additions to sub configure arguments.
+AC_ARG_VAR([build_configargs],
+ [additional configure arguments for build directories])
+AC_ARG_VAR([host_configargs],
+ [additional configure arguments for host directories])
+AC_ARG_VAR([target_configargs],
+ [additional configure arguments for target directories])
+
+# For the build-side libraries, we just need to pretend we're native,
+# and not use the same cache file. Multilibs are neither needed nor
+# desired.
+build_configargs="$build_configargs --cache-file=../config.cache ${baseargs}"
+
+# For host modules, accept cache file option, or specification as blank.
+case "${cache_file}" in
+"") # empty
+ cache_file_option="" ;;
+/* | [[A-Za-z]]:[[\\/]]* ) # absolute path
+ cache_file_option="--cache-file=${cache_file}" ;;
+*) # relative path
+ cache_file_option="--cache-file=../${cache_file}" ;;
+esac
+
+# Host dirs don't like to share a cache file either, horribly enough.
+# This seems to be due to autoconf 2.5x stupidity.
+host_configargs="$host_configargs --cache-file=./config.cache ${extra_host_args} ${baseargs}"
+
+target_configargs="$target_configargs ${tbaseargs}"
+
+# Passing a --with-cross-host argument lets the target libraries know
+# whether they are being built with a cross-compiler or being built
+# native. However, it would be better to use other mechanisms to make the
+# sorts of decisions they want to make on this basis. Please consider
+# this option to be deprecated. FIXME.
+if test x${is_cross_compiler} = xyes ; then
+ target_configargs="--with-cross-host=${host_noncanonical} ${target_configargs}"
+fi
+
+# Default to --enable-multilib.
+if test x${enable_multilib} = x ; then
+ target_configargs="--enable-multilib ${target_configargs}"
+fi
+
+# Pass --with-newlib if appropriate. Note that target_configdirs has
+# changed from the earlier setting of with_newlib.
+if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " newlib " > /dev/null 2>&1 && test -d ${srcdir}/newlib ; then
+ target_configargs="--with-newlib ${target_configargs}"
+fi
+
+# Different target subdirs use different values of certain variables
+# (notably CXX). Worse, multilibs use *lots* of different values.
+# Worse yet, autoconf 2.5x makes some of these 'precious', meaning that
+# it doesn't automatically accept command-line overrides of them.
+# This means it's not safe for target subdirs to share a cache file,
+# which is disgusting, but there you have it. Hopefully this can be
+# fixed in future. It's still worthwhile to use a cache file for each
+# directory. I think.
+
+# Pass the appropriate --build, --host, --target and --cache-file arguments.
+# We need to pass --target, as newer autoconf's requires consistency
+# for target_alias and gcc doesn't manage it consistently.
+target_configargs="--cache-file=./config.cache ${target_configargs}"
+
+FLAGS_FOR_TARGET=
+case " $target_configdirs " in
+ *" newlib "*)
+ case " $target_configargs " in
+ *" --with-newlib "*)
+ case "$target" in
+ *-cygwin*)
+ FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/winsup -L$$r/$(TARGET_SUBDIR)/winsup/cygwin -L$$r/$(TARGET_SUBDIR)/winsup/w32api/lib -isystem $$s/winsup/include -isystem $$s/winsup/cygwin/include -isystem $$s/winsup/w32api/include'
+ ;;
+ esac
+
+ # If we're not building GCC, don't discard standard headers.
+ if test -d ${srcdir}/gcc; then
+ FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -nostdinc'
+
+ if test "${build}" != "${host}"; then
+ # On Canadian crosses, CC_FOR_TARGET will have already been set
+ # by `configure', so we won't have an opportunity to add -Bgcc/
+ # to it. This is right: we don't want to search that directory
+ # for binaries, but we want the header files in there, so add
+ # them explicitly.
+ FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $$r/$(HOST_SUBDIR)/gcc/include -isystem $$r/$(HOST_SUBDIR)/gcc/include-fixed'
+
+ # Someone might think of using the pre-installed headers on
+ # Canadian crosses, in case the installed compiler is not fully
+ # compatible with the compiler being built. In this case, it
+ # would be better to flag an error than risking having
+ # incompatible object files being constructed. We can't
+ # guarantee that an error will be flagged, but let's hope the
+ # compiler will do it, when presented with incompatible header
+ # files.
+ fi
+ fi
+
+ case "${target}-${is_cross_compiler}" in
+ i[[3456789]]86-*-linux*-no)
+ # Here host == target, so we don't need to build gcc,
+ # so we don't want to discard standard headers.
+ FLAGS_FOR_TARGET=`echo " $FLAGS_FOR_TARGET " | sed -e 's/ -nostdinc / /'`
+ ;;
+ *)
+ # If we're building newlib, use its generic headers last, but search
+ # for any libc-related directories first (so make it the last -B
+ # switch).
+ FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/newlib/ -isystem $$r/$(TARGET_SUBDIR)/newlib/targ-include -isystem $$s/newlib/libc/include'
+
+ # If we're building libgloss, find the startup file, simulator library
+ # and linker script.
+ case " $target_configdirs " in
+ *" libgloss "*)
+ # Look for startup file, simulator library and maybe linker script.
+ FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/libgloss/'"$libgloss_dir"
+ # Look for libnosys.a in case the target needs it.
+ FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/libgloss/libnosys'
+ # Most targets have the linker script in the source directory.
+ FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$s/libgloss/'"$libgloss_dir"
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+esac
+
+case "$target" in
+ x86_64-*mingw* | *-w64-mingw*)
+ # MinGW-w64 does not use newlib, nor does it use winsup. It may,
+ # however, use a symlink named 'mingw' in ${prefix} .
+ FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L${prefix}/${target}/lib -L${prefix}/mingw/lib -isystem ${prefix}/${target}/include -isystem ${prefix}/mingw/include'
+ ;;
+ *-mingw*)
+ # MinGW can't be handled as Cygwin above since it does not use newlib.
+ FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/winsup/mingw -L$$r/$(TARGET_SUBDIR)/winsup/w32api/lib -isystem $$s/winsup/mingw/include -isystem $$s/winsup/w32api/include'
+ ;;
+esac
+
+# Allow the user to override the flags for
+# our build compiler if desired.
+if test x"${build}" = x"${host}" ; then
+ CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}}
+ CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}}
+ LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}}
+fi
+
+# On Canadian crosses, we'll be searching the right directories for
+# the previously-installed cross compiler, so don't bother to add
+# flags for directories within the install tree of the compiler
+# being built; programs in there won't even run.
+if test "${build}" = "${host}" && test -d ${srcdir}/gcc; then
+ # Search for pre-installed headers if nothing else fits.
+ FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include -isystem $(build_tooldir)/sys-include'
+fi
+
+if test "x${use_gnu_ld}" = x &&
+ echo " ${configdirs} " | grep " ld " > /dev/null ; then
+ # Arrange for us to find uninstalled linker scripts.
+ FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(HOST_SUBDIR)/ld'
+fi
+
+# Search for other target-specific linker scripts and such.
+case "${target}" in
+ mep*)
+ FLAGS_FOR_TARGET="$FLAGS_FOR_TARGET -mlibrary"
+ ;;
+esac
+
+# Makefile fragments.
+for frag in host_makefile_frag target_makefile_frag alphaieee_frag ospace_frag;
+do
+ eval fragval=\$$frag
+ if test $fragval != /dev/null; then
+ eval $frag=${srcdir}/$fragval
+ fi
+done
+AC_SUBST_FILE(host_makefile_frag)
+AC_SUBST_FILE(target_makefile_frag)
+AC_SUBST_FILE(alphaieee_frag)
+AC_SUBST_FILE(ospace_frag)
+
+# Miscellanea: directories, flags, etc.
+AC_SUBST(RPATH_ENVVAR)
+AC_SUBST(GCC_SHLIB_SUBDIR)
+AC_SUBST(tooldir)
+AC_SUBST(build_tooldir)
+AC_SUBST(CONFIGURE_GDB_TK)
+AC_SUBST(GDB_TK)
+AC_SUBST(INSTALL_GDB_TK)
+
+# Build module lists & subconfigure args.
+AC_SUBST(build_configargs)
+AC_SUBST(build_configdirs)
+
+# Host module lists & subconfigure args.
+AC_SUBST(host_configargs)
+AC_SUBST(configdirs)
+AC_SUBST(target_configdirs)
+
+# Target module lists & subconfigure args.
+AC_SUBST(target_configargs)
+
+
+# Build tools.
+AC_SUBST(AR_FOR_BUILD)
+AC_SUBST(AS_FOR_BUILD)
+AC_SUBST(CC_FOR_BUILD)
+AC_SUBST(CFLAGS_FOR_BUILD)
+AC_SUBST(CXXFLAGS_FOR_BUILD)
+AC_SUBST(CXX_FOR_BUILD)
+AC_SUBST(DLLTOOL_FOR_BUILD)
+AC_SUBST(GCJ_FOR_BUILD)
+AC_SUBST(GFORTRAN_FOR_BUILD)
+AC_SUBST(GOC_FOR_BUILD)
+AC_SUBST(LDFLAGS_FOR_BUILD)
+AC_SUBST(LD_FOR_BUILD)
+AC_SUBST(NM_FOR_BUILD)
+AC_SUBST(RANLIB_FOR_BUILD)
+AC_SUBST(WINDMC_FOR_BUILD)
+AC_SUBST(WINDRES_FOR_BUILD)
+
+# Generate default definitions for YACC, M4, LEX and other programs that run
+# on the build machine. These are used if the Makefile can't locate these
+# programs in objdir.
+MISSING=`cd $ac_aux_dir && ${PWDCMD-pwd}`/missing
+
+AC_CHECK_PROGS([YACC], ['bison -y' byacc yacc], [$MISSING bison -y])
+case " $build_configdirs " in
+ *" bison "*) YACC='$$r/$(BUILD_SUBDIR)/bison/tests/bison -y' ;;
+esac
+
+AC_CHECK_PROGS([BISON], [bison], [$MISSING bison])
+case " $build_configdirs " in
+ *" bison "*) BISON='$$r/$(BUILD_SUBDIR)/bison/tests/bison' ;;
+esac
+
+AC_CHECK_PROGS([M4], [gm4 gnum4 m4], [$MISSING m4])
+case " $build_configdirs " in
+ *" m4 "*) M4='$$r/$(BUILD_SUBDIR)/m4/m4' ;;
+esac
+
+AC_CHECK_PROGS([LEX], [flex lex], [$MISSING flex])
+case " $build_configdirs " in
+ *" flex "*) LEX='$$r/$(BUILD_SUBDIR)/flex/flex' ;;
+ *" lex "*) LEX='$$r/$(BUILD_SUBDIR)/lex/lex' ;;
+esac
+
+AC_CHECK_PROGS([FLEX], [flex], [$MISSING flex])
+case " $build_configdirs " in
+ *" flex "*) FLEX='$$r/$(BUILD_SUBDIR)/flex/flex' ;;
+esac
+
+AC_CHECK_PROGS([MAKEINFO], makeinfo, [$MISSING makeinfo])
+case " $build_configdirs " in
+ *" texinfo "*) MAKEINFO='$$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo' ;;
+ *)
+changequote(,)
+ # For an installed makeinfo, we require it to be from texinfo 4.7 or
+ # higher, else we use the "missing" dummy.
+ if ${MAKEINFO} --version \
+ | egrep 'texinfo[^0-9]*(4\.([7-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then
+ :
+ else
+ MAKEINFO="$MISSING makeinfo"
+ fi
+ ;;
+changequote([,])
+esac
+
+# FIXME: expect and dejagnu may become build tools?
+
+AC_CHECK_PROGS(EXPECT, expect, expect)
+case " $configdirs " in
+ *" expect "*)
+ test $host = $build && EXPECT='$$r/$(HOST_SUBDIR)/expect/expect'
+ ;;
+esac
+
+AC_CHECK_PROGS(RUNTEST, runtest, runtest)
+case " $configdirs " in
+ *" dejagnu "*)
+ test $host = $build && RUNTEST='$$s/$(HOST_SUBDIR)/dejagnu/runtest'
+ ;;
+esac
+
+
+# Host tools.
+NCN_STRICT_CHECK_TOOLS(AR, ar)
+NCN_STRICT_CHECK_TOOLS(AS, as)
+NCN_STRICT_CHECK_TOOLS(DLLTOOL, dlltool)
+NCN_STRICT_CHECK_TOOLS(LD, ld)
+NCN_STRICT_CHECK_TOOLS(LIPO, lipo)
+NCN_STRICT_CHECK_TOOLS(NM, nm)
+NCN_STRICT_CHECK_TOOLS(RANLIB, ranlib, true)
+NCN_STRICT_CHECK_TOOLS(STRIP, strip, true)
+NCN_STRICT_CHECK_TOOLS(WINDRES, windres)
+NCN_STRICT_CHECK_TOOLS(WINDMC, windmc)
+NCN_STRICT_CHECK_TOOLS(OBJCOPY, objcopy)
+NCN_STRICT_CHECK_TOOLS(OBJDUMP, objdump)
+NCN_STRICT_CHECK_TOOLS(READELF, readelf)
+AC_SUBST(CC)
+AC_SUBST(CXX)
+AC_SUBST(CFLAGS)
+AC_SUBST(CXXFLAGS)
+
+# Target tools.
+AC_ARG_WITH([build-time-tools],
+ [AS_HELP_STRING([--with-build-time-tools=PATH],
+ [use given path to find target tools during the build])],
+ [case x"$withval" in
+ x/*) ;;
+ *)
+ with_build_time_tools=
+ AC_MSG_WARN([argument to --with-build-time-tools must be an absolute path])
+ ;;
+ esac],
+ [with_build_time_tools=])
+
+NCN_STRICT_CHECK_TARGET_TOOLS(CC_FOR_TARGET, cc gcc)
+NCN_STRICT_CHECK_TARGET_TOOLS(CXX_FOR_TARGET, c++ g++ cxx gxx)
+NCN_STRICT_CHECK_TARGET_TOOLS(GCC_FOR_TARGET, gcc, ${CC_FOR_TARGET})
+NCN_STRICT_CHECK_TARGET_TOOLS(GCJ_FOR_TARGET, gcj)
+NCN_STRICT_CHECK_TARGET_TOOLS(GFORTRAN_FOR_TARGET, gfortran)
+NCN_STRICT_CHECK_TARGET_TOOLS(GOC_FOR_TARGET, gccgo)
+
+ACX_CHECK_INSTALLED_TARGET_TOOL(AR_FOR_TARGET, ar)
+ACX_CHECK_INSTALLED_TARGET_TOOL(AS_FOR_TARGET, as)
+ACX_CHECK_INSTALLED_TARGET_TOOL(DLLTOOL_FOR_TARGET, dlltool)
+ACX_CHECK_INSTALLED_TARGET_TOOL(LD_FOR_TARGET, ld)
+ACX_CHECK_INSTALLED_TARGET_TOOL(LIPO_FOR_TARGET, lipo)
+ACX_CHECK_INSTALLED_TARGET_TOOL(NM_FOR_TARGET, nm)
+ACX_CHECK_INSTALLED_TARGET_TOOL(OBJDUMP_FOR_TARGET, objdump)
+ACX_CHECK_INSTALLED_TARGET_TOOL(RANLIB_FOR_TARGET, ranlib)
+ACX_CHECK_INSTALLED_TARGET_TOOL(READELF_FOR_TARGET, readelf)
+ACX_CHECK_INSTALLED_TARGET_TOOL(STRIP_FOR_TARGET, strip)
+ACX_CHECK_INSTALLED_TARGET_TOOL(WINDRES_FOR_TARGET, windres)
+ACX_CHECK_INSTALLED_TARGET_TOOL(WINDMC_FOR_TARGET, windmc)
+
+RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET"
+
+GCC_TARGET_TOOL(ar, AR_FOR_TARGET, AR, [binutils/ar])
+GCC_TARGET_TOOL(as, AS_FOR_TARGET, AS, [gas/as-new])
+GCC_TARGET_TOOL(cc, CC_FOR_TARGET, CC, [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/])
+dnl see comments for CXX_FOR_TARGET_FLAG_TO_PASS
+GCC_TARGET_TOOL(c++, CXX_FOR_TARGET, CXX,
+ [gcc/g++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ `if test -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags; then $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes; else echo -funconfigured-libstdc++-v3 ; fi` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs],
+ c++)
+GCC_TARGET_TOOL(c++ for libstdc++, RAW_CXX_FOR_TARGET, CXX,
+ [gcc/xgcc -shared-libgcc -B$$r/$(HOST_SUBDIR)/gcc -nostdinc++ -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs],
+ c++)
+GCC_TARGET_TOOL(dlltool, DLLTOOL_FOR_TARGET, DLLTOOL, [binutils/dlltool])
+GCC_TARGET_TOOL(gcc, GCC_FOR_TARGET, , [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/])
+GCC_TARGET_TOOL(gcj, GCJ_FOR_TARGET, GCJ,
+ [gcc/gcj -B$$r/$(HOST_SUBDIR)/gcc/], java)
+GCC_TARGET_TOOL(gfortran, GFORTRAN_FOR_TARGET, GFORTRAN,
+ [gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/], fortran)
+GCC_TARGET_TOOL(gccgo, GOC_FOR_TARGET, GOC,
+ [gcc/gccgo -B$$r/$(HOST_SUBDIR)/gcc/], go)
+GCC_TARGET_TOOL(ld, LD_FOR_TARGET, LD, [ld/ld-new])
+GCC_TARGET_TOOL(lipo, LIPO_FOR_TARGET, LIPO)
+GCC_TARGET_TOOL(nm, NM_FOR_TARGET, NM, [binutils/nm-new])
+GCC_TARGET_TOOL(objdump, OBJDUMP_FOR_TARGET, OBJDUMP, [binutils/objdump])
+GCC_TARGET_TOOL(ranlib, RANLIB_FOR_TARGET, RANLIB, [binutils/ranlib])
+GCC_TARGET_TOOL(readelf, READELF_FOR_TARGET, READELF, [binutils/readelf])
+GCC_TARGET_TOOL(strip, STRIP_FOR_TARGET, STRIP, [binutils/strip-new])
+GCC_TARGET_TOOL(windres, WINDRES_FOR_TARGET, WINDRES, [binutils/windres])
+GCC_TARGET_TOOL(windmc, WINDMC_FOR_TARGET, WINDMC, [binutils/windmc])
+
+AC_SUBST(FLAGS_FOR_TARGET)
+AC_SUBST(RAW_CXX_FOR_TARGET)
+
+# Certain tools may need extra flags.
+AR_FOR_TARGET=${AR_FOR_TARGET}${extra_arflags_for_target}
+RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET}${extra_ranlibflags_for_target}
+NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target}
+
+# When building target libraries, except in a Canadian cross, we use
+# the same toolchain as the compiler we just built.
+COMPILER_AS_FOR_TARGET='$(AS_FOR_TARGET)'
+COMPILER_LD_FOR_TARGET='$(LD_FOR_TARGET)'
+COMPILER_NM_FOR_TARGET='$(NM_FOR_TARGET)'
+if test $host = $build; then
+ case " $configdirs " in
+ *" gcc "*)
+ COMPILER_AS_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/as'
+ COMPILER_LD_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/collect-ld'
+ COMPILER_NM_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/nm'${extra_nmflags_for_target}
+ ;;
+ esac
+fi
+
+AC_SUBST(COMPILER_AS_FOR_TARGET)
+AC_SUBST(COMPILER_LD_FOR_TARGET)
+AC_SUBST(COMPILER_NM_FOR_TARGET)
+
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+AC_ARG_ENABLE(maintainer-mode,
+[AS_HELP_STRING([--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)
+AC_SUBST(MAINTAINER_MODE_TRUE)
+AC_SUBST(MAINTAINER_MODE_FALSE)
+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
+AC_SUBST(MAINT)dnl
+
+# ---------------------
+# GCC bootstrap support
+# ---------------------
+
+# Stage specific cflags for build.
+stage1_cflags="-g"
+case $build in
+ vax-*-*)
+ case ${GCC} in
+ yes) stage1_cflags="-g -Wa,-J" ;;
+ *) stage1_cflags="-g -J" ;;
+ esac ;;
+esac
+
+# This is aimed to mimic bootstrap with a non-GCC compiler to catch problems.
+if test "$GCC" = yes -a "$ENABLE_BUILD_WITH_CXX" != yes; then
+ saved_CFLAGS="$CFLAGS"
+
+ # Pass -fkeep-inline-functions for stage 1 if the GCC version supports it.
+ CFLAGS="$CFLAGS -fkeep-inline-functions"
+ AC_MSG_CHECKING([whether -fkeep-inline-functions is supported])
+ AC_TRY_COMPILE([
+#if (__GNUC__ < 3) \
+ || (__GNUC__ == 3 && (__GNUC_MINOR__ < 3 \
+ || (__GNUC_MINOR__ == 3 && __GNUC_PATCHLEVEL__ < 1)))
+#error http://gcc.gnu.org/PR29382
+#endif
+ ],,
+ [AC_MSG_RESULT([yes]); stage1_cflags="$stage1_cflags -fkeep-inline-functions"],
+ [AC_MSG_RESULT([no])])
+
+ CFLAGS="$saved_CFLAGS"
+fi
+
+AC_SUBST(stage1_cflags)
+
+# Enable --enable-checking in stage1 of the compiler.
+AC_ARG_ENABLE(stage1-checking,
+[AS_HELP_STRING([[--enable-stage1-checking[=all]]],
+ [choose additional checking for stage1 of the compiler])],
+[stage1_checking=--enable-checking=${enable_stage1_checking}],
+[if test "x$enable_checking" = xno || test "x$enable_checking" = x; then
+ stage1_checking=--enable-checking=yes,types
+else
+ stage1_checking=--enable-checking=$enable_checking,types
+fi])
+AC_SUBST(stage1_checking)
+
+# Enable -Werror in bootstrap stage2 and later.
+AC_ARG_ENABLE(werror,
+[AS_HELP_STRING([--enable-werror],
+ [enable -Werror in bootstrap stage2 and later])], [],
+[if test -d ${srcdir}/gcc && test x"`cat $srcdir/gcc/DEV-PHASE`" = xexperimental; then
+ enable_werror=yes
+else
+ enable_werror=no
+fi])
+case ${enable_werror} in
+ yes) stage2_werror_flag="--enable-werror-always" ;;
+ *) stage2_werror_flag="" ;;
+esac
+AC_SUBST(stage2_werror_flag)
+
+# If using ENABLE_BUILD_POSTSTAGE1_WITH_CXX, pass
+# --enable-build-with-cxx after stage1.
+if test "$ENABLE_BUILD_POSTSTAGE1_WITH_CXX" = "yes"; then
+ POSTSTAGE1_CONFIGURE_FLAGS=--enable-build-with-cxx
+else
+ POSTSTAGE1_CONFIGURE_FLAGS=
+fi
+AC_SUBST(POSTSTAGE1_CONFIGURE_FLAGS)
+
+# Specify what files to not compare during bootstrap.
+
+compare_exclusions="gcc/cc*-checksum\$(objext) | gcc/ada/*tools/*"
+case "$target" in
+ hppa*64*-*-hpux*) ;;
+ hppa*-*-hpux*) compare_exclusions="gcc/cc*-checksum\$(objext) | */libgcc/lib2funcs* | gcc/ada/*tools/*" ;;
+esac
+case " $configdirs " in
+*" ppl "*) compare_exclusions="$compare_exclusions | ppl/src/ppl-config.o" ;;
+esac
+AC_SUBST(compare_exclusions)
+
+AC_CONFIG_FILES([Makefile],
+ [sed "$extrasub_build" Makefile |
+ sed "$extrasub_host" |
+ sed "$extrasub_target" > mf$$
+ mv -f mf$$ Makefile],
+ [extrasub_build="$extrasub_build"
+ extrasub_host="$extrasub_host"
+ extrasub_target="$extrasub_target"])
+AC_OUTPUT
diff --git a/include/ChangeLog b/include/ChangeLog
index 4ad0de858..da939f1e2 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,121 +1,3 @@
-2012-08-02 Sean Keys <skeys@ipdatasys.com>
-
- * elf/m68hc11.h: #define E_M68HC11_NO_BANK_WARNING
- 0x000000200
-
-2012-07-24 Stephan McCamant <smcc@cs.berkeley.edu>
- Dr David Alan Gilbert <dave@treblig.org>
-
- PR binutils/13135
- * dis-asm.h (fprintf_ftype): Add ATTRIBUTE_FPTR_PRINTF_2.
-
-2012-07-13 Doug Evans <dje@google.com>
-
- * filenames.h: #include "hashtab.h".
- (filename_hash, filename_eq): Declare.
-
-2012-07-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * elf/s390.h (START_RELOC_NUMBERS): Define R_390_IRELATIVE reloc.
-
-2012-07-05 Sean Keys <skeys@ipdatasys.com>
-
- * opcode/xgate.h: Changed the format string for mode
- XGATE_OP_DYA_MON.
-
-2012-06-18 Doug Evans <dje@google.com>
-
- * dwarf2.def (DW_OP): Add DW_OP_GNU_const_index.
-
-2012-06-12 Rafael Ávila de Espíndola <respindola@mozilla.com>
-
- * plugin-api.h (ld_plugin_output_file_type): Add LDPO_PIE.
-
-2012-06-08 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2.def (DW_FORM_GNU_ref_alt, DW_FORM_GNU_strp_alt): New
- forms.
- * dwarf2.h (enum dwarf_macro_record_type): Add
- DW_MACRO_GNU_define_indirect_alt, DW_MACRO_GNU_undef_indirect_alt
- and DW_MACRO_GNU_transparent_include_alt.
-
-2012-05-23 Doug Evans <dje@google.com>
-
- * leb128.h: #include stdint.h, inttypes.h.
- (read_uleb128_to_uint64): Renamed from read_uleb128_to_ull.
- Change to take a uint64_t * argument instead of unsigned long long.
- (read_sleb128_to_uint64): Renamed from read_sleb128_to_ll.
- Change to take an int64_t * argument instead of long long.
-
-2012-05-22 Doug Evans <dje@google.com>
-
- * leb128.h: New file.
-
-2012-05-19 Gary Funck <gary@intrepid.com>
-
- * dwarf2.def: Update comment re: UPC extensions to reference
- DWARF4 specification.
-
-2012-05-15 James Murray <jsm@jsm-net.demon.co.uk>
-
- * dis-asm.h (print_insn_m9s12x): Prototype.
- (print_insn_m9s12xg): Prototype.
-
-2012-05-03 Sean Keys <skeys@ipdatasys.com>
-
- * dis-asm.h (print_insn_xgate): Define.
- (print_insn_xgate): Ditto.
- Added new files for XGATE port.
-
-2012-05-02 Cary Coutant <ccoutant@google.com>
-
- * dwarf2.def: Remove DW_FORM_GNU_ref_index,
- replace DW_AT_GNU_ref_base with DW_AT_GNU_ranges_base.
-
-2012-04-28 Doug Evans <dje@google.com>
-
- * dwarf2.def (DW_OP): Add DW_OP_GNU_addr_index.
-
-2012-04-27 Tom Tromey <tromey@redhat.com>
-
- * dwarf2.h: Wrap function declarations in extern "C".
-
-2012-04-27 Tom Tromey <tromey@redhat.com>
-
- * dwarf2.h (enum dwarf_tag, enum dwarf_form, enum dwarf_attribute)
- (enum dwarf_location_atom, enum dwarf_type, enum
- dwarf_call_frame_info): Remove.
- (DW_TAG, DW_TAG_DUP, DW_FORM, DW_AT, DW_AT_DUP, DW_OP)
- (DW_OP_DUP, DW_ATE, DW_ATE_DUP, DW_CFA): New macros.
- Include dwarf2.def.
- (get_DW_TAG_name, get_DW_AT_name, get_DW_FORM_name)
- (get_DW_OP_name, get_DW_ATE_name): Declare.
- * dwarf2.def: New file, from dwarf2.h.
-
-2012-04-12 David S. Miller <davem@davemloft.net>
-
- * elf/sparc.h (R_SPARC_WDISP10): New reloc.
- * opcode/sparc.h: Define '=' as generating R_SPARC_WDISP10.
-
-2012-04-10 Tristan Gingold <gingold@adacore.com>
-
- * splay-tree.h: Conditionnaly includes stdint.h and inttypes.h
- (libi_uhostptr_t, libi_shostptr_t): Remove, replaced by uintptr_t.
-
-2012-04-09 Roland McGrath <mcgrathr@google.com>
-
- * bfdlink.h (struct bfd_link_info): Add new member user_phdrs.
-
-2012-03-15 Alan Modra <amodra@gmail.com>
-
- * dis-asm.h (disassemble_init_powerpc): Declare.
-
-2009-11-06 Jonas Maebe <jonas.maebe@elis.ugent.be>
-
- Add DWARF attribute value for the "Borland fastcall" calling
- convention.
- * elf/dwarf2.h: Add DW_CC_GNU_borland_fastcall_i386 constant.
-
2012-01-31 H.J. Lu <hongjiu.lu@intel.com>
PR ld/13616
diff --git a/include/bfdlink.h b/include/bfdlink.h
index d900b4783..c79d8f055 100644
--- a/include/bfdlink.h
+++ b/include/bfdlink.h
@@ -229,7 +229,7 @@ typedef enum {with_flags, without_flags} flag_type;
/* A section flag list. */
struct flag_info_list
{
- flag_type with;
+ flag_type with;
const char *name;
bfd_boolean valid;
struct flag_info_list *next;
@@ -405,9 +405,6 @@ struct bfd_link_info
/* TRUE if we should warn alternate ELF machine code. */
unsigned int warn_alternate_em: 1;
- /* TRUE if the linker script contained an explicit PHDRS command. */
- unsigned int user_phdrs: 1;
-
/* Char that may appear as the first char of a symbol, but should be
skipped (like symbol_leading_char) when looking up symbols in
wrap_hash. Used by PowerPC Linux for 'dot' symbols. */
@@ -677,7 +674,7 @@ struct bfd_link_order
} indirect;
struct
{
- /* Size of contents, or zero when contents should be filled by
+ /* Size of contents, or zero when contents should be filled by
the architecture-dependent fill function.
A non-zero value allows filling of the output section
with an arbitrary repeated pattern. */
diff --git a/include/dis-asm.h b/include/dis-asm.h
index 661e7cf58..d2334c63c 100644
--- a/include/dis-asm.h
+++ b/include/dis-asm.h
@@ -1,7 +1,7 @@
/* Interface between the opcode library and its callers.
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010,
- 2011, 2012 Free Software Foundation, Inc.
+ 2011 Free Software Foundation, Inc.
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
@@ -35,7 +35,7 @@ extern "C" {
#include <stdio.h>
#include "bfd.h"
- typedef int (*fprintf_ftype) (void *, const char*, ...) ATTRIBUTE_FPTR_PRINTF_2;
+ typedef int (*fprintf_ftype) (void *, const char*, ...) /*ATTRIBUTE_FPTR_PRINTF_2*/;
enum dis_insn_type
{
@@ -260,8 +260,6 @@ extern int print_insn_m32c (bfd_vma, disassemble_info *);
extern int print_insn_m32r (bfd_vma, disassemble_info *);
extern int print_insn_m68hc11 (bfd_vma, disassemble_info *);
extern int print_insn_m68hc12 (bfd_vma, disassemble_info *);
-extern int print_insn_m9s12x (bfd_vma, disassemble_info *);
-extern int print_insn_m9s12xg (bfd_vma, disassemble_info *);
extern int print_insn_m68k (bfd_vma, disassemble_info *);
extern int print_insn_m88k (bfd_vma, disassemble_info *);
extern int print_insn_mcore (bfd_vma, disassemble_info *);
@@ -295,7 +293,6 @@ extern int print_insn_v850 (bfd_vma, disassemble_info *);
extern int print_insn_vax (bfd_vma, disassemble_info *);
extern int print_insn_w65 (bfd_vma, disassemble_info *);
extern int print_insn_xc16x (bfd_vma, disassemble_info *);
-extern int print_insn_xgate (bfd_vma, disassemble_info *);
extern int print_insn_xstormy16 (bfd_vma, disassemble_info *);
extern int print_insn_xtensa (bfd_vma, disassemble_info *);
extern int print_insn_z80 (bfd_vma, disassemble_info *);
@@ -317,7 +314,6 @@ extern int get_arm_regname_num_options (void);
extern int set_arm_regname_option (int);
extern int get_arm_regnames (int, const char **, const char **, const char *const **);
extern bfd_boolean arm_symbol_is_valid (asymbol *, struct disassemble_info *);
-extern void disassemble_init_powerpc (struct disassemble_info *);
/* Fetch the disassembler for a given BFD, if that support is available. */
extern disassembler_ftype disassembler (bfd *);
diff --git a/include/dwarf2.def b/include/dwarf2.def
deleted file mode 100644
index 3c3dfccf3..000000000
--- a/include/dwarf2.def
+++ /dev/null
@@ -1,685 +0,0 @@
-/* -*- c -*-
- Declarations and definitions of codes relating to the DWARF2 and
- DWARF3 symbolic debugging information formats.
- Copyright (C) 1992, 1993, 1995, 1996, 1997, 1999, 2000, 2001, 2002,
- 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
- Free Software Foundation, Inc.
-
- Written by Gary Funck (gary@intrepid.com) The Ada Joint Program
- Office (AJPO), Florida State University and Silicon Graphics Inc.
- provided support for this effort -- June 21, 1995.
-
- Derived from the DWARF 1 implementation written by Ron Guilmette
- (rfg@netcom.com), November 1990.
-
- This file is part of GCC.
-
- GCC 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 3, or (at your option) any later
- version.
-
- GCC 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.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file is derived from the DWARF specification (a public document)
- Revision 2.0.0 (July 27, 1993) developed by the UNIX International
- Programming Languages Special Interest Group (UI/PLSIG) and distributed
- by UNIX International. Copies of this specification are available from
- UNIX International, 20 Waterview Boulevard, Parsippany, NJ, 07054.
-
- This file also now contains definitions from the DWARF 3 specification
- published Dec 20, 2005, available from: http://dwarf.freestandards.org.
-
- This file also now contains definitions from the DWARF 4
- specification, available from: http://dwarfstd.org/ */
-
-/* This file declares various DWARF-related constants using a set of
- macros which can be redefined by the including file.
-
- The macros are in sections. Each section corresponds to a single
- set of DWARF constants and has a corresponding key. The key is
- used in all the macro names.
-
- The sections are TAG (for DW_TAG_ constants), FORM (DW_FORM_), AT
- (DW_AT_), OP (DW_OP_), ATE (DW_ATE_), and CFA (DW_CFA_).
-
- Using TAG as an example, the following macros may be used for each
- key:
-
- DW_FIRST_TAG(name, value) - Introduce the first DW_TAG constant.
-
- DW_TAG(name, value) - Define a subsequent constant.
-
- DW_TAG_DUP(name, value) - Define a subsequent constant whose value
- is a duplicate of some other constant. Not all keys use the _DUP
- macro form. If more than one name shares a value, then the base
- (DW_TAG) form will be the preferred name and DW_TAG_DUP will hold
- any alternate names.
-
- DW_END_TAG - Invoked at the end of the DW_TAG constants. */
-
-DW_FIRST_TAG (DW_TAG_padding, 0x00)
-DW_TAG (DW_TAG_array_type, 0x01)
-DW_TAG (DW_TAG_class_type, 0x02)
-DW_TAG (DW_TAG_entry_point, 0x03)
-DW_TAG (DW_TAG_enumeration_type, 0x04)
-DW_TAG (DW_TAG_formal_parameter, 0x05)
-DW_TAG (DW_TAG_imported_declaration, 0x08)
-DW_TAG (DW_TAG_label, 0x0a)
-DW_TAG (DW_TAG_lexical_block, 0x0b)
-DW_TAG (DW_TAG_member, 0x0d)
-DW_TAG (DW_TAG_pointer_type, 0x0f)
-DW_TAG (DW_TAG_reference_type, 0x10)
-DW_TAG (DW_TAG_compile_unit, 0x11)
-DW_TAG (DW_TAG_string_type, 0x12)
-DW_TAG (DW_TAG_structure_type, 0x13)
-DW_TAG (DW_TAG_subroutine_type, 0x15)
-DW_TAG (DW_TAG_typedef, 0x16)
-DW_TAG (DW_TAG_union_type, 0x17)
-DW_TAG (DW_TAG_unspecified_parameters, 0x18)
-DW_TAG (DW_TAG_variant, 0x19)
-DW_TAG (DW_TAG_common_block, 0x1a)
-DW_TAG (DW_TAG_common_inclusion, 0x1b)
-DW_TAG (DW_TAG_inheritance, 0x1c)
-DW_TAG (DW_TAG_inlined_subroutine, 0x1d)
-DW_TAG (DW_TAG_module, 0x1e)
-DW_TAG (DW_TAG_ptr_to_member_type, 0x1f)
-DW_TAG (DW_TAG_set_type, 0x20)
-DW_TAG (DW_TAG_subrange_type, 0x21)
-DW_TAG (DW_TAG_with_stmt, 0x22)
-DW_TAG (DW_TAG_access_declaration, 0x23)
-DW_TAG (DW_TAG_base_type, 0x24)
-DW_TAG (DW_TAG_catch_block, 0x25)
-DW_TAG (DW_TAG_const_type, 0x26)
-DW_TAG (DW_TAG_constant, 0x27)
-DW_TAG (DW_TAG_enumerator, 0x28)
-DW_TAG (DW_TAG_file_type, 0x29)
-DW_TAG (DW_TAG_friend, 0x2a)
-DW_TAG (DW_TAG_namelist, 0x2b)
-DW_TAG (DW_TAG_namelist_item, 0x2c)
-DW_TAG (DW_TAG_packed_type, 0x2d)
-DW_TAG (DW_TAG_subprogram, 0x2e)
-DW_TAG (DW_TAG_template_type_param, 0x2f)
-DW_TAG (DW_TAG_template_value_param, 0x30)
-DW_TAG (DW_TAG_thrown_type, 0x31)
-DW_TAG (DW_TAG_try_block, 0x32)
-DW_TAG (DW_TAG_variant_part, 0x33)
-DW_TAG (DW_TAG_variable, 0x34)
-DW_TAG (DW_TAG_volatile_type, 0x35)
-/* DWARF 3. */
-DW_TAG (DW_TAG_dwarf_procedure, 0x36)
-DW_TAG (DW_TAG_restrict_type, 0x37)
-DW_TAG (DW_TAG_interface_type, 0x38)
-DW_TAG (DW_TAG_namespace, 0x39)
-DW_TAG (DW_TAG_imported_module, 0x3a)
-DW_TAG (DW_TAG_unspecified_type, 0x3b)
-DW_TAG (DW_TAG_partial_unit, 0x3c)
-DW_TAG (DW_TAG_imported_unit, 0x3d)
-DW_TAG (DW_TAG_condition, 0x3f)
-DW_TAG (DW_TAG_shared_type, 0x40)
-/* DWARF 4. */
-DW_TAG (DW_TAG_type_unit, 0x41)
-DW_TAG (DW_TAG_rvalue_reference_type, 0x42)
-DW_TAG (DW_TAG_template_alias, 0x43)
-
-DW_TAG_DUP (DW_TAG_lo_user, 0x4080)
-DW_TAG_DUP (DW_TAG_hi_user, 0xffff)
-
-/* SGI/MIPS Extensions. */
-DW_TAG (DW_TAG_MIPS_loop, 0x4081)
-
-/* HP extensions. See: ftp://ftp.hp.com/pub/lang/tools/WDB/wdb-4.0.tar.gz . */
-DW_TAG (DW_TAG_HP_array_descriptor, 0x4090)
-DW_TAG (DW_TAG_HP_Bliss_field, 0x4091)
-DW_TAG (DW_TAG_HP_Bliss_field_set, 0x4092)
-
-/* GNU extensions. */
-DW_TAG (DW_TAG_format_label, 0x4101) /* For FORTRAN 77 and Fortran 90. */
-DW_TAG (DW_TAG_function_template, 0x4102) /* For C++. */
-DW_TAG (DW_TAG_class_template, 0x4103) /* For C++. */
-DW_TAG (DW_TAG_GNU_BINCL, 0x4104)
-DW_TAG (DW_TAG_GNU_EINCL, 0x4105)
-/* Template template parameter.
- See http://gcc.gnu.org/wiki/TemplateParmsDwarf . */
-DW_TAG (DW_TAG_GNU_template_template_param, 0x4106)
-
-/* Template parameter pack extension, specified at
- http://wiki.dwarfstd.org/index.php?title=C%2B%2B0x:_Variadic_templates
- The values of these two TAGS are in the DW_TAG_GNU_* space until the tags
- are properly part of DWARF 5. */
-DW_TAG (DW_TAG_GNU_template_parameter_pack, 0x4107)
-DW_TAG (DW_TAG_GNU_formal_parameter_pack, 0x4108)
-/* The GNU call site extension, specified at
- http://www.dwarfstd.org/ShowIssue.php?issue=100909.2&type=open .
- The values of these two TAGS are in the DW_TAG_GNU_* space until the tags
- are properly part of DWARF 5. */
-DW_TAG (DW_TAG_GNU_call_site, 0x4109)
-DW_TAG (DW_TAG_GNU_call_site_parameter, 0x410a)
-/* Extensions for UPC. See: http://dwarfstd.org/doc/DWARF4.pdf. */
-DW_TAG (DW_TAG_upc_shared_type, 0x8765)
-DW_TAG (DW_TAG_upc_strict_type, 0x8766)
-DW_TAG (DW_TAG_upc_relaxed_type, 0x8767)
-/* PGI (STMicroelectronics) extensions. No documentation available. */
-DW_TAG (DW_TAG_PGI_kanji_type, 0xA000)
-DW_TAG (DW_TAG_PGI_interface_block, 0xA020)
-DW_END_TAG
-
-DW_FIRST_FORM (DW_FORM_addr, 0x01)
-DW_FORM (DW_FORM_block2, 0x03)
-DW_FORM (DW_FORM_block4, 0x04)
-DW_FORM (DW_FORM_data2, 0x05)
-DW_FORM (DW_FORM_data4, 0x06)
-DW_FORM (DW_FORM_data8, 0x07)
-DW_FORM (DW_FORM_string, 0x08)
-DW_FORM (DW_FORM_block, 0x09)
-DW_FORM (DW_FORM_block1, 0x0a)
-DW_FORM (DW_FORM_data1, 0x0b)
-DW_FORM (DW_FORM_flag, 0x0c)
-DW_FORM (DW_FORM_sdata, 0x0d)
-DW_FORM (DW_FORM_strp, 0x0e)
-DW_FORM (DW_FORM_udata, 0x0f)
-DW_FORM (DW_FORM_ref_addr, 0x10)
-DW_FORM (DW_FORM_ref1, 0x11)
-DW_FORM (DW_FORM_ref2, 0x12)
-DW_FORM (DW_FORM_ref4, 0x13)
-DW_FORM (DW_FORM_ref8, 0x14)
-DW_FORM (DW_FORM_ref_udata, 0x15)
-DW_FORM (DW_FORM_indirect, 0x16)
-/* DWARF 4. */
-DW_FORM (DW_FORM_sec_offset, 0x17)
-DW_FORM (DW_FORM_exprloc, 0x18)
-DW_FORM (DW_FORM_flag_present, 0x19)
-DW_FORM (DW_FORM_ref_sig8, 0x20)
-/* Extensions for Fission. See http://gcc.gnu.org/wiki/DebugFission. */
-DW_FORM (DW_FORM_GNU_addr_index, 0x1f01)
-DW_FORM (DW_FORM_GNU_str_index, 0x1f02)
-/* Extensions for DWZ multifile.
- See http://www.dwarfstd.org/ShowIssue.php?issue=120604.1&type=open . */
-DW_FORM (DW_FORM_GNU_ref_alt, 0x1f20)
-DW_FORM (DW_FORM_GNU_strp_alt, 0x1f21)
-DW_END_FORM
-
-DW_FIRST_AT (DW_AT_sibling, 0x01)
-DW_AT (DW_AT_location, 0x02)
-DW_AT (DW_AT_name, 0x03)
-DW_AT (DW_AT_ordering, 0x09)
-DW_AT (DW_AT_subscr_data, 0x0a)
-DW_AT (DW_AT_byte_size, 0x0b)
-DW_AT (DW_AT_bit_offset, 0x0c)
-DW_AT (DW_AT_bit_size, 0x0d)
-DW_AT (DW_AT_element_list, 0x0f)
-DW_AT (DW_AT_stmt_list, 0x10)
-DW_AT (DW_AT_low_pc, 0x11)
-DW_AT (DW_AT_high_pc, 0x12)
-DW_AT (DW_AT_language, 0x13)
-DW_AT (DW_AT_member, 0x14)
-DW_AT (DW_AT_discr, 0x15)
-DW_AT (DW_AT_discr_value, 0x16)
-DW_AT (DW_AT_visibility, 0x17)
-DW_AT (DW_AT_import, 0x18)
-DW_AT (DW_AT_string_length, 0x19)
-DW_AT (DW_AT_common_reference, 0x1a)
-DW_AT (DW_AT_comp_dir, 0x1b)
-DW_AT (DW_AT_const_value, 0x1c)
-DW_AT (DW_AT_containing_type, 0x1d)
-DW_AT (DW_AT_default_value, 0x1e)
-DW_AT (DW_AT_inline, 0x20)
-DW_AT (DW_AT_is_optional, 0x21)
-DW_AT (DW_AT_lower_bound, 0x22)
-DW_AT (DW_AT_producer, 0x25)
-DW_AT (DW_AT_prototyped, 0x27)
-DW_AT (DW_AT_return_addr, 0x2a)
-DW_AT (DW_AT_start_scope, 0x2c)
-DW_AT (DW_AT_bit_stride, 0x2e)
-DW_AT (DW_AT_upper_bound, 0x2f)
-DW_AT (DW_AT_abstract_origin, 0x31)
-DW_AT (DW_AT_accessibility, 0x32)
-DW_AT (DW_AT_address_class, 0x33)
-DW_AT (DW_AT_artificial, 0x34)
-DW_AT (DW_AT_base_types, 0x35)
-DW_AT (DW_AT_calling_convention, 0x36)
-DW_AT (DW_AT_count, 0x37)
-DW_AT (DW_AT_data_member_location, 0x38)
-DW_AT (DW_AT_decl_column, 0x39)
-DW_AT (DW_AT_decl_file, 0x3a)
-DW_AT (DW_AT_decl_line, 0x3b)
-DW_AT (DW_AT_declaration, 0x3c)
-DW_AT (DW_AT_discr_list, 0x3d)
-DW_AT (DW_AT_encoding, 0x3e)
-DW_AT (DW_AT_external, 0x3f)
-DW_AT (DW_AT_frame_base, 0x40)
-DW_AT (DW_AT_friend, 0x41)
-DW_AT (DW_AT_identifier_case, 0x42)
-DW_AT (DW_AT_macro_info, 0x43)
-DW_AT (DW_AT_namelist_items, 0x44)
-DW_AT (DW_AT_priority, 0x45)
-DW_AT (DW_AT_segment, 0x46)
-DW_AT (DW_AT_specification, 0x47)
-DW_AT (DW_AT_static_link, 0x48)
-DW_AT (DW_AT_type, 0x49)
-DW_AT (DW_AT_use_location, 0x4a)
-DW_AT (DW_AT_variable_parameter, 0x4b)
-DW_AT (DW_AT_virtuality, 0x4c)
-DW_AT (DW_AT_vtable_elem_location, 0x4d)
-/* DWARF 3 values. */
-DW_AT (DW_AT_allocated, 0x4e)
-DW_AT (DW_AT_associated, 0x4f)
-DW_AT (DW_AT_data_location, 0x50)
-DW_AT (DW_AT_byte_stride, 0x51)
-DW_AT (DW_AT_entry_pc, 0x52)
-DW_AT (DW_AT_use_UTF8, 0x53)
-DW_AT (DW_AT_extension, 0x54)
-DW_AT (DW_AT_ranges, 0x55)
-DW_AT (DW_AT_trampoline, 0x56)
-DW_AT (DW_AT_call_column, 0x57)
-DW_AT (DW_AT_call_file, 0x58)
-DW_AT (DW_AT_call_line, 0x59)
-DW_AT (DW_AT_description, 0x5a)
-DW_AT (DW_AT_binary_scale, 0x5b)
-DW_AT (DW_AT_decimal_scale, 0x5c)
-DW_AT (DW_AT_small, 0x5d)
-DW_AT (DW_AT_decimal_sign, 0x5e)
-DW_AT (DW_AT_digit_count, 0x5f)
-DW_AT (DW_AT_picture_string, 0x60)
-DW_AT (DW_AT_mutable, 0x61)
-DW_AT (DW_AT_threads_scaled, 0x62)
-DW_AT (DW_AT_explicit, 0x63)
-DW_AT (DW_AT_object_pointer, 0x64)
-DW_AT (DW_AT_endianity, 0x65)
-DW_AT (DW_AT_elemental, 0x66)
-DW_AT (DW_AT_pure, 0x67)
-DW_AT (DW_AT_recursive, 0x68)
-/* DWARF 4. */
-DW_AT (DW_AT_signature, 0x69)
-DW_AT (DW_AT_main_subprogram, 0x6a)
-DW_AT (DW_AT_data_bit_offset, 0x6b)
-DW_AT (DW_AT_const_expr, 0x6c)
-DW_AT (DW_AT_enum_class, 0x6d)
-DW_AT (DW_AT_linkage_name, 0x6e)
-
-DW_AT_DUP (DW_AT_lo_user, 0x2000) /* Implementation-defined range start. */
-DW_AT_DUP (DW_AT_hi_user, 0x3fff) /* Implementation-defined range end. */
-
-/* SGI/MIPS extensions. */
-DW_AT (DW_AT_MIPS_fde, 0x2001)
-DW_AT (DW_AT_MIPS_loop_begin, 0x2002)
-DW_AT (DW_AT_MIPS_tail_loop_begin, 0x2003)
-DW_AT (DW_AT_MIPS_epilog_begin, 0x2004)
-DW_AT (DW_AT_MIPS_loop_unroll_factor, 0x2005)
-DW_AT (DW_AT_MIPS_software_pipeline_depth, 0x2006)
-DW_AT (DW_AT_MIPS_linkage_name, 0x2007)
-DW_AT (DW_AT_MIPS_stride, 0x2008)
-DW_AT (DW_AT_MIPS_abstract_name, 0x2009)
-DW_AT (DW_AT_MIPS_clone_origin, 0x200a)
-DW_AT (DW_AT_MIPS_has_inlines, 0x200b)
-/* HP extensions. */
-DW_AT (DW_AT_HP_block_index, 0x2000)
-DW_AT_DUP (DW_AT_HP_unmodifiable, 0x2001) /* Same as DW_AT_MIPS_fde. */
-DW_AT_DUP (DW_AT_HP_prologue, 0x2005) /* Same as DW_AT_MIPS_loop_unroll. */
-DW_AT_DUP (DW_AT_HP_epilogue, 0x2008) /* Same as DW_AT_MIPS_stride. */
-DW_AT (DW_AT_HP_actuals_stmt_list, 0x2010)
-DW_AT (DW_AT_HP_proc_per_section, 0x2011)
-DW_AT (DW_AT_HP_raw_data_ptr, 0x2012)
-DW_AT (DW_AT_HP_pass_by_reference, 0x2013)
-DW_AT (DW_AT_HP_opt_level, 0x2014)
-DW_AT (DW_AT_HP_prof_version_id, 0x2015)
-DW_AT (DW_AT_HP_opt_flags, 0x2016)
-DW_AT (DW_AT_HP_cold_region_low_pc, 0x2017)
-DW_AT (DW_AT_HP_cold_region_high_pc, 0x2018)
-DW_AT (DW_AT_HP_all_variables_modifiable, 0x2019)
-DW_AT (DW_AT_HP_linkage_name, 0x201a)
-DW_AT (DW_AT_HP_prof_flags, 0x201b) /* In comp unit of procs_info for -g. */
-DW_AT (DW_AT_HP_unit_name, 0x201f)
-DW_AT (DW_AT_HP_unit_size, 0x2020)
-DW_AT (DW_AT_HP_widened_byte_size, 0x2021)
-DW_AT (DW_AT_HP_definition_points, 0x2022)
-DW_AT (DW_AT_HP_default_location, 0x2023)
-DW_AT (DW_AT_HP_is_result_param, 0x2029)
-
-/* GNU extensions. */
-DW_AT (DW_AT_sf_names, 0x2101)
-DW_AT (DW_AT_src_info, 0x2102)
-DW_AT (DW_AT_mac_info, 0x2103)
-DW_AT (DW_AT_src_coords, 0x2104)
-DW_AT (DW_AT_body_begin, 0x2105)
-DW_AT (DW_AT_body_end, 0x2106)
-DW_AT (DW_AT_GNU_vector, 0x2107)
-/* Thread-safety annotations.
- See http://gcc.gnu.org/wiki/ThreadSafetyAnnotation . */
-DW_AT (DW_AT_GNU_guarded_by, 0x2108)
-DW_AT (DW_AT_GNU_pt_guarded_by, 0x2109)
-DW_AT (DW_AT_GNU_guarded, 0x210a)
-DW_AT (DW_AT_GNU_pt_guarded, 0x210b)
-DW_AT (DW_AT_GNU_locks_excluded, 0x210c)
-DW_AT (DW_AT_GNU_exclusive_locks_required, 0x210d)
-DW_AT (DW_AT_GNU_shared_locks_required, 0x210e)
-/* One-definition rule violation detection.
- See http://gcc.gnu.org/wiki/DwarfSeparateTypeInfo . */
-DW_AT (DW_AT_GNU_odr_signature, 0x210f)
-/* Template template argument name.
- See http://gcc.gnu.org/wiki/TemplateParmsDwarf . */
-DW_AT (DW_AT_GNU_template_name, 0x2110)
-/* The GNU call site extension.
- See http://www.dwarfstd.org/ShowIssue.php?issue=100909.2&type=open . */
-DW_AT (DW_AT_GNU_call_site_value, 0x2111)
-DW_AT (DW_AT_GNU_call_site_data_value, 0x2112)
-DW_AT (DW_AT_GNU_call_site_target, 0x2113)
-DW_AT (DW_AT_GNU_call_site_target_clobbered, 0x2114)
-DW_AT (DW_AT_GNU_tail_call, 0x2115)
-DW_AT (DW_AT_GNU_all_tail_call_sites, 0x2116)
-DW_AT (DW_AT_GNU_all_call_sites, 0x2117)
-DW_AT (DW_AT_GNU_all_source_call_sites, 0x2118)
-/* Section offset into .debug_macro section. */
-DW_AT (DW_AT_GNU_macros, 0x2119)
-/* Extensions for Fission. See http://gcc.gnu.org/wiki/DebugFission. */
-DW_AT (DW_AT_GNU_dwo_name, 0x2130)
-DW_AT (DW_AT_GNU_dwo_id, 0x2131)
-DW_AT (DW_AT_GNU_ranges_base, 0x2132)
-DW_AT (DW_AT_GNU_addr_base, 0x2133)
-DW_AT (DW_AT_GNU_pubnames, 0x2134)
-DW_AT (DW_AT_GNU_pubtypes, 0x2135)
-/* VMS extensions. */
-DW_AT (DW_AT_VMS_rtnbeg_pd_address, 0x2201)
-/* GNAT extensions. */
-/* GNAT descriptive type.
- See http://gcc.gnu.org/wiki/DW_AT_GNAT_descriptive_type . */
-DW_AT (DW_AT_use_GNAT_descriptive_type, 0x2301)
-DW_AT (DW_AT_GNAT_descriptive_type, 0x2302)
-/* UPC extension. */
-DW_AT (DW_AT_upc_threads_scaled, 0x3210)
-/* PGI (STMicroelectronics) extensions. */
-DW_AT (DW_AT_PGI_lbase, 0x3a00)
-DW_AT (DW_AT_PGI_soffset, 0x3a01)
-DW_AT (DW_AT_PGI_lstride, 0x3a02)
-DW_END_AT
-
-DW_FIRST_OP (DW_OP_addr, 0x03)
-DW_OP (DW_OP_deref, 0x06)
-DW_OP (DW_OP_const1u, 0x08)
-DW_OP (DW_OP_const1s, 0x09)
-DW_OP (DW_OP_const2u, 0x0a)
-DW_OP (DW_OP_const2s, 0x0b)
-DW_OP (DW_OP_const4u, 0x0c)
-DW_OP (DW_OP_const4s, 0x0d)
-DW_OP (DW_OP_const8u, 0x0e)
-DW_OP (DW_OP_const8s, 0x0f)
-DW_OP (DW_OP_constu, 0x10)
-DW_OP (DW_OP_consts, 0x11)
-DW_OP (DW_OP_dup, 0x12)
-DW_OP (DW_OP_drop, 0x13)
-DW_OP (DW_OP_over, 0x14)
-DW_OP (DW_OP_pick, 0x15)
-DW_OP (DW_OP_swap, 0x16)
-DW_OP (DW_OP_rot, 0x17)
-DW_OP (DW_OP_xderef, 0x18)
-DW_OP (DW_OP_abs, 0x19)
-DW_OP (DW_OP_and, 0x1a)
-DW_OP (DW_OP_div, 0x1b)
-DW_OP (DW_OP_minus, 0x1c)
-DW_OP (DW_OP_mod, 0x1d)
-DW_OP (DW_OP_mul, 0x1e)
-DW_OP (DW_OP_neg, 0x1f)
-DW_OP (DW_OP_not, 0x20)
-DW_OP (DW_OP_or, 0x21)
-DW_OP (DW_OP_plus, 0x22)
-DW_OP (DW_OP_plus_uconst, 0x23)
-DW_OP (DW_OP_shl, 0x24)
-DW_OP (DW_OP_shr, 0x25)
-DW_OP (DW_OP_shra, 0x26)
-DW_OP (DW_OP_xor, 0x27)
-DW_OP (DW_OP_bra, 0x28)
-DW_OP (DW_OP_eq, 0x29)
-DW_OP (DW_OP_ge, 0x2a)
-DW_OP (DW_OP_gt, 0x2b)
-DW_OP (DW_OP_le, 0x2c)
-DW_OP (DW_OP_lt, 0x2d)
-DW_OP (DW_OP_ne, 0x2e)
-DW_OP (DW_OP_skip, 0x2f)
-DW_OP (DW_OP_lit0, 0x30)
-DW_OP (DW_OP_lit1, 0x31)
-DW_OP (DW_OP_lit2, 0x32)
-DW_OP (DW_OP_lit3, 0x33)
-DW_OP (DW_OP_lit4, 0x34)
-DW_OP (DW_OP_lit5, 0x35)
-DW_OP (DW_OP_lit6, 0x36)
-DW_OP (DW_OP_lit7, 0x37)
-DW_OP (DW_OP_lit8, 0x38)
-DW_OP (DW_OP_lit9, 0x39)
-DW_OP (DW_OP_lit10, 0x3a)
-DW_OP (DW_OP_lit11, 0x3b)
-DW_OP (DW_OP_lit12, 0x3c)
-DW_OP (DW_OP_lit13, 0x3d)
-DW_OP (DW_OP_lit14, 0x3e)
-DW_OP (DW_OP_lit15, 0x3f)
-DW_OP (DW_OP_lit16, 0x40)
-DW_OP (DW_OP_lit17, 0x41)
-DW_OP (DW_OP_lit18, 0x42)
-DW_OP (DW_OP_lit19, 0x43)
-DW_OP (DW_OP_lit20, 0x44)
-DW_OP (DW_OP_lit21, 0x45)
-DW_OP (DW_OP_lit22, 0x46)
-DW_OP (DW_OP_lit23, 0x47)
-DW_OP (DW_OP_lit24, 0x48)
-DW_OP (DW_OP_lit25, 0x49)
-DW_OP (DW_OP_lit26, 0x4a)
-DW_OP (DW_OP_lit27, 0x4b)
-DW_OP (DW_OP_lit28, 0x4c)
-DW_OP (DW_OP_lit29, 0x4d)
-DW_OP (DW_OP_lit30, 0x4e)
-DW_OP (DW_OP_lit31, 0x4f)
-DW_OP (DW_OP_reg0, 0x50)
-DW_OP (DW_OP_reg1, 0x51)
-DW_OP (DW_OP_reg2, 0x52)
-DW_OP (DW_OP_reg3, 0x53)
-DW_OP (DW_OP_reg4, 0x54)
-DW_OP (DW_OP_reg5, 0x55)
-DW_OP (DW_OP_reg6, 0x56)
-DW_OP (DW_OP_reg7, 0x57)
-DW_OP (DW_OP_reg8, 0x58)
-DW_OP (DW_OP_reg9, 0x59)
-DW_OP (DW_OP_reg10, 0x5a)
-DW_OP (DW_OP_reg11, 0x5b)
-DW_OP (DW_OP_reg12, 0x5c)
-DW_OP (DW_OP_reg13, 0x5d)
-DW_OP (DW_OP_reg14, 0x5e)
-DW_OP (DW_OP_reg15, 0x5f)
-DW_OP (DW_OP_reg16, 0x60)
-DW_OP (DW_OP_reg17, 0x61)
-DW_OP (DW_OP_reg18, 0x62)
-DW_OP (DW_OP_reg19, 0x63)
-DW_OP (DW_OP_reg20, 0x64)
-DW_OP (DW_OP_reg21, 0x65)
-DW_OP (DW_OP_reg22, 0x66)
-DW_OP (DW_OP_reg23, 0x67)
-DW_OP (DW_OP_reg24, 0x68)
-DW_OP (DW_OP_reg25, 0x69)
-DW_OP (DW_OP_reg26, 0x6a)
-DW_OP (DW_OP_reg27, 0x6b)
-DW_OP (DW_OP_reg28, 0x6c)
-DW_OP (DW_OP_reg29, 0x6d)
-DW_OP (DW_OP_reg30, 0x6e)
-DW_OP (DW_OP_reg31, 0x6f)
-DW_OP (DW_OP_breg0, 0x70)
-DW_OP (DW_OP_breg1, 0x71)
-DW_OP (DW_OP_breg2, 0x72)
-DW_OP (DW_OP_breg3, 0x73)
-DW_OP (DW_OP_breg4, 0x74)
-DW_OP (DW_OP_breg5, 0x75)
-DW_OP (DW_OP_breg6, 0x76)
-DW_OP (DW_OP_breg7, 0x77)
-DW_OP (DW_OP_breg8, 0x78)
-DW_OP (DW_OP_breg9, 0x79)
-DW_OP (DW_OP_breg10, 0x7a)
-DW_OP (DW_OP_breg11, 0x7b)
-DW_OP (DW_OP_breg12, 0x7c)
-DW_OP (DW_OP_breg13, 0x7d)
-DW_OP (DW_OP_breg14, 0x7e)
-DW_OP (DW_OP_breg15, 0x7f)
-DW_OP (DW_OP_breg16, 0x80)
-DW_OP (DW_OP_breg17, 0x81)
-DW_OP (DW_OP_breg18, 0x82)
-DW_OP (DW_OP_breg19, 0x83)
-DW_OP (DW_OP_breg20, 0x84)
-DW_OP (DW_OP_breg21, 0x85)
-DW_OP (DW_OP_breg22, 0x86)
-DW_OP (DW_OP_breg23, 0x87)
-DW_OP (DW_OP_breg24, 0x88)
-DW_OP (DW_OP_breg25, 0x89)
-DW_OP (DW_OP_breg26, 0x8a)
-DW_OP (DW_OP_breg27, 0x8b)
-DW_OP (DW_OP_breg28, 0x8c)
-DW_OP (DW_OP_breg29, 0x8d)
-DW_OP (DW_OP_breg30, 0x8e)
-DW_OP (DW_OP_breg31, 0x8f)
-DW_OP (DW_OP_regx, 0x90)
-DW_OP (DW_OP_fbreg, 0x91)
-DW_OP (DW_OP_bregx, 0x92)
-DW_OP (DW_OP_piece, 0x93)
-DW_OP (DW_OP_deref_size, 0x94)
-DW_OP (DW_OP_xderef_size, 0x95)
-DW_OP (DW_OP_nop, 0x96)
-/* DWARF 3 extensions. */
-DW_OP (DW_OP_push_object_address, 0x97)
-DW_OP (DW_OP_call2, 0x98)
-DW_OP (DW_OP_call4, 0x99)
-DW_OP (DW_OP_call_ref, 0x9a)
-DW_OP (DW_OP_form_tls_address, 0x9b)
-DW_OP (DW_OP_call_frame_cfa, 0x9c)
-DW_OP (DW_OP_bit_piece, 0x9d)
-
-/* DWARF 4 extensions. */
-DW_OP (DW_OP_implicit_value, 0x9e)
-DW_OP (DW_OP_stack_value, 0x9f)
-
-DW_OP_DUP (DW_OP_lo_user, 0xe0) /* Implementation-defined range start. */
-DW_OP_DUP (DW_OP_hi_user, 0xff) /* Implementation-defined range end. */
-
-/* GNU extensions. */
-DW_OP (DW_OP_GNU_push_tls_address, 0xe0)
-/* The following is for marking variables that are uninitialized. */
-DW_OP (DW_OP_GNU_uninit, 0xf0)
-DW_OP (DW_OP_GNU_encoded_addr, 0xf1)
-/* The GNU implicit pointer extension.
- See http://www.dwarfstd.org/ShowIssue.php?issue=100831.1&type=open . */
-DW_OP (DW_OP_GNU_implicit_pointer, 0xf2)
-/* The GNU entry value extension.
- See http://www.dwarfstd.org/ShowIssue.php?issue=100909.1&type=open . */
-DW_OP (DW_OP_GNU_entry_value, 0xf3)
-/* The GNU typed stack extension.
- See http://www.dwarfstd.org/doc/040408.1.html . */
-DW_OP (DW_OP_GNU_const_type, 0xf4)
-DW_OP (DW_OP_GNU_regval_type, 0xf5)
-DW_OP (DW_OP_GNU_deref_type, 0xf6)
-DW_OP (DW_OP_GNU_convert, 0xf7)
-DW_OP (DW_OP_GNU_reinterpret, 0xf9)
-/* The GNU parameter ref extension. */
-DW_OP (DW_OP_GNU_parameter_ref, 0xfa)
-/* Extension for Fission. See http://gcc.gnu.org/wiki/DebugFission. */
-DW_OP (DW_OP_GNU_addr_index, 0xfb)
-DW_OP (DW_OP_GNU_const_index, 0xfc)
-/* HP extensions. */
-DW_OP_DUP (DW_OP_HP_unknown, 0xe0) /* Ouch, the same as GNU_push_tls_address. */
-DW_OP (DW_OP_HP_is_value, 0xe1)
-DW_OP (DW_OP_HP_fltconst4, 0xe2)
-DW_OP (DW_OP_HP_fltconst8, 0xe3)
-DW_OP (DW_OP_HP_mod_range, 0xe4)
-DW_OP (DW_OP_HP_unmod_range, 0xe5)
-DW_OP (DW_OP_HP_tls, 0xe6)
-/* PGI (STMicroelectronics) extensions. */
-DW_OP (DW_OP_PGI_omp_thread_num, 0xf8)
-DW_END_OP
-
-DW_FIRST_ATE (DW_ATE_void, 0x0)
-DW_ATE (DW_ATE_address, 0x1)
-DW_ATE (DW_ATE_boolean, 0x2)
-DW_ATE (DW_ATE_complex_float, 0x3)
-DW_ATE (DW_ATE_float, 0x4)
-DW_ATE (DW_ATE_signed, 0x5)
-DW_ATE (DW_ATE_signed_char, 0x6)
-DW_ATE (DW_ATE_unsigned, 0x7)
-DW_ATE (DW_ATE_unsigned_char, 0x8)
-/* DWARF 3. */
-DW_ATE (DW_ATE_imaginary_float, 0x9)
-DW_ATE (DW_ATE_packed_decimal, 0xa)
-DW_ATE (DW_ATE_numeric_string, 0xb)
-DW_ATE (DW_ATE_edited, 0xc)
-DW_ATE (DW_ATE_signed_fixed, 0xd)
-DW_ATE (DW_ATE_unsigned_fixed, 0xe)
-DW_ATE (DW_ATE_decimal_float, 0xf)
-/* DWARF 4. */
-DW_ATE (DW_ATE_UTF, 0x10)
-
-DW_ATE_DUP (DW_ATE_lo_user, 0x80)
-DW_ATE_DUP (DW_ATE_hi_user, 0xff)
-
-/* HP extensions. */
-DW_ATE (DW_ATE_HP_float80, 0x80) /* Floating-point (80 bit). */
-DW_ATE (DW_ATE_HP_complex_float80, 0x81) /* Complex floating-point (80 bit). */
-DW_ATE (DW_ATE_HP_float128, 0x82) /* Floating-point (128 bit). */
-DW_ATE (DW_ATE_HP_complex_float128, 0x83) /* Complex fp (128 bit). */
-DW_ATE (DW_ATE_HP_floathpintel, 0x84) /* Floating-point (82 bit IA64). */
-DW_ATE (DW_ATE_HP_imaginary_float80, 0x85)
-DW_ATE (DW_ATE_HP_imaginary_float128, 0x86)
-DW_ATE (DW_ATE_HP_VAX_float, 0x88) /* F or G floating. */
-DW_ATE (DW_ATE_HP_VAX_float_d, 0x89) /* D floating. */
-DW_ATE (DW_ATE_HP_packed_decimal, 0x8a) /* Cobol. */
-DW_ATE (DW_ATE_HP_zoned_decimal, 0x8b) /* Cobol. */
-DW_ATE (DW_ATE_HP_edited, 0x8c) /* Cobol. */
-DW_ATE (DW_ATE_HP_signed_fixed, 0x8d) /* Cobol. */
-DW_ATE (DW_ATE_HP_unsigned_fixed, 0x8e) /* Cobol. */
-DW_ATE (DW_ATE_HP_VAX_complex_float, 0x8f) /* F or G floating complex. */
-DW_ATE (DW_ATE_HP_VAX_complex_float_d, 0x90) /* D floating complex. */
-
-DW_END_ATE
-
-DW_FIRST_CFA (DW_CFA_advance_loc, 0x40)
-DW_CFA (DW_CFA_offset, 0x80)
-DW_CFA (DW_CFA_restore, 0xc0)
-DW_CFA (DW_CFA_nop, 0x00)
-DW_CFA (DW_CFA_set_loc, 0x01)
-DW_CFA (DW_CFA_advance_loc1, 0x02)
-DW_CFA (DW_CFA_advance_loc2, 0x03)
-DW_CFA (DW_CFA_advance_loc4, 0x04)
-DW_CFA (DW_CFA_offset_extended, 0x05)
-DW_CFA (DW_CFA_restore_extended, 0x06)
-DW_CFA (DW_CFA_undefined, 0x07)
-DW_CFA (DW_CFA_same_value, 0x08)
-DW_CFA (DW_CFA_register, 0x09)
-DW_CFA (DW_CFA_remember_state, 0x0a)
-DW_CFA (DW_CFA_restore_state, 0x0b)
-DW_CFA (DW_CFA_def_cfa, 0x0c)
-DW_CFA (DW_CFA_def_cfa_register, 0x0d)
-DW_CFA (DW_CFA_def_cfa_offset, 0x0e)
-/* DWARF 3. */
-DW_CFA (DW_CFA_def_cfa_expression, 0x0f)
-DW_CFA (DW_CFA_expression, 0x10)
-DW_CFA (DW_CFA_offset_extended_sf, 0x11)
-DW_CFA (DW_CFA_def_cfa_sf, 0x12)
-DW_CFA (DW_CFA_def_cfa_offset_sf, 0x13)
-DW_CFA (DW_CFA_val_offset, 0x14)
-DW_CFA (DW_CFA_val_offset_sf, 0x15)
-DW_CFA (DW_CFA_val_expression, 0x16)
-
-DW_CFA (DW_CFA_lo_user, 0x1c)
-DW_CFA (DW_CFA_hi_user, 0x3f)
-
-/* SGI/MIPS specific. */
-DW_CFA (DW_CFA_MIPS_advance_loc8, 0x1d)
-/* GNU extensions. */
-DW_CFA (DW_CFA_GNU_window_save, 0x2d)
-DW_CFA (DW_CFA_GNU_args_size, 0x2e)
-DW_CFA (DW_CFA_GNU_negative_offset_extended, 0x2f)
-
-DW_END_CFA
diff --git a/include/dwarf2.h b/include/dwarf2.h
index 2c1aeb6b9..8c0c9ed6d 100644
--- a/include/dwarf2.h
+++ b/include/dwarf2.h
@@ -1,7 +1,7 @@
/* Declarations and definitions of codes relating to the DWARF2 and
DWARF3 symbolic debugging information formats.
Copyright (C) 1992, 1993, 1995, 1996, 1997, 1999, 2000, 2001, 2002,
- 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+ 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
Written by Gary Funck (gary@intrepid.com) The Ada Joint Program
@@ -41,71 +41,599 @@
This file also now contains definitions from the DWARF 3 specification
published Dec 20, 2005, available from: http://dwarf.freestandards.org. */
+/* This file is shared between GCC and GDB, and should not contain
+ prototypes. */
+
#ifndef _DWARF2_H
#define _DWARF2_H
-#define DW_TAG(name, value) , name = value
-#define DW_TAG_DUP(name, value) , name = value
-#define DW_FORM(name, value) , name = value
-#define DW_AT(name, value) , name = value
-#define DW_AT_DUP(name, value) , name = value
-#define DW_OP(name, value) , name = value
-#define DW_OP_DUP(name, value) , name = value
-#define DW_ATE(name, value) , name = value
-#define DW_ATE_DUP(name, value) , name = value
-#define DW_CFA(name, value) , name = value
-
-#define DW_FIRST_TAG(name, value) enum dwarf_tag { \
- name = value
-#define DW_END_TAG };
-#define DW_FIRST_FORM(name, value) enum dwarf_form { \
- name = value
-#define DW_END_FORM };
-#define DW_FIRST_AT(name, value) enum dwarf_attribute { \
- name = value
-#define DW_END_AT };
-#define DW_FIRST_OP(name, value) enum dwarf_location_atom { \
- name = value
-#define DW_END_OP };
-#define DW_FIRST_ATE(name, value) enum dwarf_type { \
- name = value
-#define DW_END_ATE };
-#define DW_FIRST_CFA(name, value) enum dwarf_call_frame_info { \
- name = value
-#define DW_END_CFA };
-
-#include "dwarf2.def"
-
-#undef DW_FIRST_TAG
-#undef DW_END_TAG
-#undef DW_FIRST_FORM
-#undef DW_END_FORM
-#undef DW_FIRST_AT
-#undef DW_END_AT
-#undef DW_FIRST_OP
-#undef DW_END_OP
-#undef DW_FIRST_ATE
-#undef DW_END_ATE
-#undef DW_FIRST_CFA
-#undef DW_END_CFA
-
-#undef DW_TAG
-#undef DW_TAG_DUP
-#undef DW_FORM
-#undef DW_AT
-#undef DW_AT_DUP
-#undef DW_OP
-#undef DW_OP_DUP
-#undef DW_ATE
-#undef DW_ATE_DUP
-#undef DW_CFA
+/* Tag names and codes. */
+enum dwarf_tag
+ {
+ DW_TAG_padding = 0x00,
+ DW_TAG_array_type = 0x01,
+ DW_TAG_class_type = 0x02,
+ DW_TAG_entry_point = 0x03,
+ DW_TAG_enumeration_type = 0x04,
+ DW_TAG_formal_parameter = 0x05,
+ DW_TAG_imported_declaration = 0x08,
+ DW_TAG_label = 0x0a,
+ DW_TAG_lexical_block = 0x0b,
+ DW_TAG_member = 0x0d,
+ DW_TAG_pointer_type = 0x0f,
+ DW_TAG_reference_type = 0x10,
+ DW_TAG_compile_unit = 0x11,
+ DW_TAG_string_type = 0x12,
+ DW_TAG_structure_type = 0x13,
+ DW_TAG_subroutine_type = 0x15,
+ DW_TAG_typedef = 0x16,
+ DW_TAG_union_type = 0x17,
+ DW_TAG_unspecified_parameters = 0x18,
+ DW_TAG_variant = 0x19,
+ DW_TAG_common_block = 0x1a,
+ DW_TAG_common_inclusion = 0x1b,
+ DW_TAG_inheritance = 0x1c,
+ DW_TAG_inlined_subroutine = 0x1d,
+ DW_TAG_module = 0x1e,
+ DW_TAG_ptr_to_member_type = 0x1f,
+ DW_TAG_set_type = 0x20,
+ DW_TAG_subrange_type = 0x21,
+ DW_TAG_with_stmt = 0x22,
+ DW_TAG_access_declaration = 0x23,
+ DW_TAG_base_type = 0x24,
+ DW_TAG_catch_block = 0x25,
+ DW_TAG_const_type = 0x26,
+ DW_TAG_constant = 0x27,
+ DW_TAG_enumerator = 0x28,
+ DW_TAG_file_type = 0x29,
+ DW_TAG_friend = 0x2a,
+ DW_TAG_namelist = 0x2b,
+ DW_TAG_namelist_item = 0x2c,
+ DW_TAG_packed_type = 0x2d,
+ DW_TAG_subprogram = 0x2e,
+ DW_TAG_template_type_param = 0x2f,
+ DW_TAG_template_value_param = 0x30,
+ DW_TAG_thrown_type = 0x31,
+ DW_TAG_try_block = 0x32,
+ DW_TAG_variant_part = 0x33,
+ DW_TAG_variable = 0x34,
+ DW_TAG_volatile_type = 0x35,
+ /* DWARF 3. */
+ DW_TAG_dwarf_procedure = 0x36,
+ DW_TAG_restrict_type = 0x37,
+ DW_TAG_interface_type = 0x38,
+ DW_TAG_namespace = 0x39,
+ DW_TAG_imported_module = 0x3a,
+ DW_TAG_unspecified_type = 0x3b,
+ DW_TAG_partial_unit = 0x3c,
+ DW_TAG_imported_unit = 0x3d,
+ DW_TAG_condition = 0x3f,
+ DW_TAG_shared_type = 0x40,
+ /* DWARF 4. */
+ DW_TAG_type_unit = 0x41,
+ DW_TAG_rvalue_reference_type = 0x42,
+ DW_TAG_template_alias = 0x43,
+
+ DW_TAG_lo_user = 0x4080,
+ DW_TAG_hi_user = 0xffff,
+
+ /* SGI/MIPS Extensions. */
+ DW_TAG_MIPS_loop = 0x4081,
+
+ /* HP extensions. See: ftp://ftp.hp.com/pub/lang/tools/WDB/wdb-4.0.tar.gz . */
+ DW_TAG_HP_array_descriptor = 0x4090,
+ DW_TAG_HP_Bliss_field = 0x4091,
+ DW_TAG_HP_Bliss_field_set = 0x4092,
+
+ /* GNU extensions. */
+ DW_TAG_format_label = 0x4101, /* For FORTRAN 77 and Fortran 90. */
+ DW_TAG_function_template = 0x4102, /* For C++. */
+ DW_TAG_class_template = 0x4103, /* For C++. */
+ DW_TAG_GNU_BINCL = 0x4104,
+ DW_TAG_GNU_EINCL = 0x4105,
+ /* Template template parameter.
+ See http://gcc.gnu.org/wiki/TemplateParmsDwarf . */
+ DW_TAG_GNU_template_template_param = 0x4106,
+
+ /* Template parameter pack extension, specified at
+ http://wiki.dwarfstd.org/index.php?title=C%2B%2B0x:_Variadic_templates
+ The values of these two TAGS are in the DW_TAG_GNU_* space until the tags
+ are properly part of DWARF 5. */
+ DW_TAG_GNU_template_parameter_pack = 0x4107,
+ DW_TAG_GNU_formal_parameter_pack = 0x4108,
+ /* The GNU call site extension, specified at
+ http://www.dwarfstd.org/ShowIssue.php?issue=100909.2&type=open .
+ The values of these two TAGS are in the DW_TAG_GNU_* space until the tags
+ are properly part of DWARF 5. */
+ DW_TAG_GNU_call_site = 0x4109,
+ DW_TAG_GNU_call_site_parameter = 0x410a,
+ /* Extensions for UPC. See: http://upc.gwu.edu/~upc. */
+ DW_TAG_upc_shared_type = 0x8765,
+ DW_TAG_upc_strict_type = 0x8766,
+ DW_TAG_upc_relaxed_type = 0x8767,
+ /* PGI (STMicroelectronics) extensions. No documentation available. */
+ DW_TAG_PGI_kanji_type = 0xA000,
+ DW_TAG_PGI_interface_block = 0xA020
+ };
/* Flag that tells whether entry has a child or not. */
#define DW_children_no 0
#define DW_children_yes 1
+/* Form names and codes. */
+enum dwarf_form
+ {
+ DW_FORM_addr = 0x01,
+ DW_FORM_block2 = 0x03,
+ DW_FORM_block4 = 0x04,
+ DW_FORM_data2 = 0x05,
+ DW_FORM_data4 = 0x06,
+ DW_FORM_data8 = 0x07,
+ DW_FORM_string = 0x08,
+ DW_FORM_block = 0x09,
+ DW_FORM_block1 = 0x0a,
+ DW_FORM_data1 = 0x0b,
+ DW_FORM_flag = 0x0c,
+ DW_FORM_sdata = 0x0d,
+ DW_FORM_strp = 0x0e,
+ DW_FORM_udata = 0x0f,
+ DW_FORM_ref_addr = 0x10,
+ DW_FORM_ref1 = 0x11,
+ DW_FORM_ref2 = 0x12,
+ DW_FORM_ref4 = 0x13,
+ DW_FORM_ref8 = 0x14,
+ DW_FORM_ref_udata = 0x15,
+ DW_FORM_indirect = 0x16,
+ /* DWARF 4. */
+ DW_FORM_sec_offset = 0x17,
+ DW_FORM_exprloc = 0x18,
+ DW_FORM_flag_present = 0x19,
+ DW_FORM_ref_sig8 = 0x20,
+ /* Extensions for Fission. See http://gcc.gnu.org/wiki/DebugFission. */
+ DW_FORM_GNU_ref_index = 0x1f00,
+ DW_FORM_GNU_addr_index = 0x1f01,
+ DW_FORM_GNU_str_index = 0x1f02
+ };
+
+/* Attribute names and codes. */
+enum dwarf_attribute
+ {
+ DW_AT_sibling = 0x01,
+ DW_AT_location = 0x02,
+ DW_AT_name = 0x03,
+ DW_AT_ordering = 0x09,
+ DW_AT_subscr_data = 0x0a,
+ DW_AT_byte_size = 0x0b,
+ DW_AT_bit_offset = 0x0c,
+ DW_AT_bit_size = 0x0d,
+ DW_AT_element_list = 0x0f,
+ DW_AT_stmt_list = 0x10,
+ DW_AT_low_pc = 0x11,
+ DW_AT_high_pc = 0x12,
+ DW_AT_language = 0x13,
+ DW_AT_member = 0x14,
+ DW_AT_discr = 0x15,
+ DW_AT_discr_value = 0x16,
+ DW_AT_visibility = 0x17,
+ DW_AT_import = 0x18,
+ DW_AT_string_length = 0x19,
+ DW_AT_common_reference = 0x1a,
+ DW_AT_comp_dir = 0x1b,
+ DW_AT_const_value = 0x1c,
+ DW_AT_containing_type = 0x1d,
+ DW_AT_default_value = 0x1e,
+ DW_AT_inline = 0x20,
+ DW_AT_is_optional = 0x21,
+ DW_AT_lower_bound = 0x22,
+ DW_AT_producer = 0x25,
+ DW_AT_prototyped = 0x27,
+ DW_AT_return_addr = 0x2a,
+ DW_AT_start_scope = 0x2c,
+ DW_AT_bit_stride = 0x2e,
#define DW_AT_stride_size DW_AT_bit_stride /* Note: The use of DW_AT_stride_size is deprecated. */
+ DW_AT_upper_bound = 0x2f,
+ DW_AT_abstract_origin = 0x31,
+ DW_AT_accessibility = 0x32,
+ DW_AT_address_class = 0x33,
+ DW_AT_artificial = 0x34,
+ DW_AT_base_types = 0x35,
+ DW_AT_calling_convention = 0x36,
+ DW_AT_count = 0x37,
+ DW_AT_data_member_location = 0x38,
+ DW_AT_decl_column = 0x39,
+ DW_AT_decl_file = 0x3a,
+ DW_AT_decl_line = 0x3b,
+ DW_AT_declaration = 0x3c,
+ DW_AT_discr_list = 0x3d,
+ DW_AT_encoding = 0x3e,
+ DW_AT_external = 0x3f,
+ DW_AT_frame_base = 0x40,
+ DW_AT_friend = 0x41,
+ DW_AT_identifier_case = 0x42,
+ DW_AT_macro_info = 0x43,
+ DW_AT_namelist_items = 0x44,
+ DW_AT_priority = 0x45,
+ DW_AT_segment = 0x46,
+ DW_AT_specification = 0x47,
+ DW_AT_static_link = 0x48,
+ DW_AT_type = 0x49,
+ DW_AT_use_location = 0x4a,
+ DW_AT_variable_parameter = 0x4b,
+ DW_AT_virtuality = 0x4c,
+ DW_AT_vtable_elem_location = 0x4d,
+ /* DWARF 3 values. */
+ DW_AT_allocated = 0x4e,
+ DW_AT_associated = 0x4f,
+ DW_AT_data_location = 0x50,
+ DW_AT_byte_stride = 0x51,
#define DW_AT_stride DW_AT_byte_stride /* Note: The use of DW_AT_stride is deprecated. */
+ DW_AT_entry_pc = 0x52,
+ DW_AT_use_UTF8 = 0x53,
+ DW_AT_extension = 0x54,
+ DW_AT_ranges = 0x55,
+ DW_AT_trampoline = 0x56,
+ DW_AT_call_column = 0x57,
+ DW_AT_call_file = 0x58,
+ DW_AT_call_line = 0x59,
+ DW_AT_description = 0x5a,
+ DW_AT_binary_scale = 0x5b,
+ DW_AT_decimal_scale = 0x5c,
+ DW_AT_small = 0x5d,
+ DW_AT_decimal_sign = 0x5e,
+ DW_AT_digit_count = 0x5f,
+ DW_AT_picture_string = 0x60,
+ DW_AT_mutable = 0x61,
+ DW_AT_threads_scaled = 0x62,
+ DW_AT_explicit = 0x63,
+ DW_AT_object_pointer = 0x64,
+ DW_AT_endianity = 0x65,
+ DW_AT_elemental = 0x66,
+ DW_AT_pure = 0x67,
+ DW_AT_recursive = 0x68,
+ /* DWARF 4. */
+ DW_AT_signature = 0x69,
+ DW_AT_main_subprogram = 0x6a,
+ DW_AT_data_bit_offset = 0x6b,
+ DW_AT_const_expr = 0x6c,
+ DW_AT_enum_class = 0x6d,
+ DW_AT_linkage_name = 0x6e,
+
+ DW_AT_lo_user = 0x2000, /* Implementation-defined range start. */
+ DW_AT_hi_user = 0x3fff, /* Implementation-defined range end. */
+
+ /* SGI/MIPS extensions. */
+ DW_AT_MIPS_fde = 0x2001,
+ DW_AT_MIPS_loop_begin = 0x2002,
+ DW_AT_MIPS_tail_loop_begin = 0x2003,
+ DW_AT_MIPS_epilog_begin = 0x2004,
+ DW_AT_MIPS_loop_unroll_factor = 0x2005,
+ DW_AT_MIPS_software_pipeline_depth = 0x2006,
+ DW_AT_MIPS_linkage_name = 0x2007,
+ DW_AT_MIPS_stride = 0x2008,
+ DW_AT_MIPS_abstract_name = 0x2009,
+ DW_AT_MIPS_clone_origin = 0x200a,
+ DW_AT_MIPS_has_inlines = 0x200b,
+ /* HP extensions. */
+ DW_AT_HP_block_index = 0x2000,
+ DW_AT_HP_unmodifiable = 0x2001, /* Same as DW_AT_MIPS_fde. */
+ DW_AT_HP_prologue = 0x2005, /* Same as DW_AT_MIPS_loop_unroll. */
+ DW_AT_HP_epilogue = 0x2008, /* Same as DW_AT_MIPS_stride. */
+ DW_AT_HP_actuals_stmt_list = 0x2010,
+ DW_AT_HP_proc_per_section = 0x2011,
+ DW_AT_HP_raw_data_ptr = 0x2012,
+ DW_AT_HP_pass_by_reference = 0x2013,
+ DW_AT_HP_opt_level = 0x2014,
+ DW_AT_HP_prof_version_id = 0x2015,
+ DW_AT_HP_opt_flags = 0x2016,
+ DW_AT_HP_cold_region_low_pc = 0x2017,
+ DW_AT_HP_cold_region_high_pc = 0x2018,
+ DW_AT_HP_all_variables_modifiable = 0x2019,
+ DW_AT_HP_linkage_name = 0x201a,
+ DW_AT_HP_prof_flags = 0x201b, /* In comp unit of procs_info for -g. */
+ DW_AT_HP_unit_name = 0x201f,
+ DW_AT_HP_unit_size = 0x2020,
+ DW_AT_HP_widened_byte_size = 0x2021,
+ DW_AT_HP_definition_points = 0x2022,
+ DW_AT_HP_default_location = 0x2023,
+ DW_AT_HP_is_result_param = 0x2029,
+
+ /* GNU extensions. */
+ DW_AT_sf_names = 0x2101,
+ DW_AT_src_info = 0x2102,
+ DW_AT_mac_info = 0x2103,
+ DW_AT_src_coords = 0x2104,
+ DW_AT_body_begin = 0x2105,
+ DW_AT_body_end = 0x2106,
+ DW_AT_GNU_vector = 0x2107,
+ /* Thread-safety annotations.
+ See http://gcc.gnu.org/wiki/ThreadSafetyAnnotation . */
+ DW_AT_GNU_guarded_by = 0x2108,
+ DW_AT_GNU_pt_guarded_by = 0x2109,
+ DW_AT_GNU_guarded = 0x210a,
+ DW_AT_GNU_pt_guarded = 0x210b,
+ DW_AT_GNU_locks_excluded = 0x210c,
+ DW_AT_GNU_exclusive_locks_required = 0x210d,
+ DW_AT_GNU_shared_locks_required = 0x210e,
+ /* One-definition rule violation detection.
+ See http://gcc.gnu.org/wiki/DwarfSeparateTypeInfo . */
+ DW_AT_GNU_odr_signature = 0x210f,
+ /* Template template argument name.
+ See http://gcc.gnu.org/wiki/TemplateParmsDwarf . */
+ DW_AT_GNU_template_name = 0x2110,
+ /* The GNU call site extension.
+ See http://www.dwarfstd.org/ShowIssue.php?issue=100909.2&type=open . */
+ DW_AT_GNU_call_site_value = 0x2111,
+ DW_AT_GNU_call_site_data_value = 0x2112,
+ DW_AT_GNU_call_site_target = 0x2113,
+ DW_AT_GNU_call_site_target_clobbered = 0x2114,
+ DW_AT_GNU_tail_call = 0x2115,
+ DW_AT_GNU_all_tail_call_sites = 0x2116,
+ DW_AT_GNU_all_call_sites = 0x2117,
+ DW_AT_GNU_all_source_call_sites = 0x2118,
+ /* Section offset into .debug_macro section. */
+ DW_AT_GNU_macros = 0x2119,
+ /* Extensions for Fission. See http://gcc.gnu.org/wiki/DebugFission. */
+ DW_AT_GNU_dwo_name = 0x2130,
+ DW_AT_GNU_dwo_id = 0x2131,
+ DW_AT_GNU_ref_base = 0x2132,
+ DW_AT_GNU_addr_base = 0x2133,
+ DW_AT_GNU_pubnames = 0x2134,
+ DW_AT_GNU_pubtypes = 0x2135,
+ /* VMS extensions. */
+ DW_AT_VMS_rtnbeg_pd_address = 0x2201,
+ /* GNAT extensions. */
+ /* GNAT descriptive type.
+ See http://gcc.gnu.org/wiki/DW_AT_GNAT_descriptive_type . */
+ DW_AT_use_GNAT_descriptive_type = 0x2301,
+ DW_AT_GNAT_descriptive_type = 0x2302,
+ /* UPC extension. */
+ DW_AT_upc_threads_scaled = 0x3210,
+ /* PGI (STMicroelectronics) extensions. */
+ DW_AT_PGI_lbase = 0x3a00,
+ DW_AT_PGI_soffset = 0x3a01,
+ DW_AT_PGI_lstride = 0x3a02
+ };
+
+/* Location atom names and codes. */
+enum dwarf_location_atom
+ {
+ DW_OP_addr = 0x03,
+ DW_OP_deref = 0x06,
+ DW_OP_const1u = 0x08,
+ DW_OP_const1s = 0x09,
+ DW_OP_const2u = 0x0a,
+ DW_OP_const2s = 0x0b,
+ DW_OP_const4u = 0x0c,
+ DW_OP_const4s = 0x0d,
+ DW_OP_const8u = 0x0e,
+ DW_OP_const8s = 0x0f,
+ DW_OP_constu = 0x10,
+ DW_OP_consts = 0x11,
+ DW_OP_dup = 0x12,
+ DW_OP_drop = 0x13,
+ DW_OP_over = 0x14,
+ DW_OP_pick = 0x15,
+ DW_OP_swap = 0x16,
+ DW_OP_rot = 0x17,
+ DW_OP_xderef = 0x18,
+ DW_OP_abs = 0x19,
+ DW_OP_and = 0x1a,
+ DW_OP_div = 0x1b,
+ DW_OP_minus = 0x1c,
+ DW_OP_mod = 0x1d,
+ DW_OP_mul = 0x1e,
+ DW_OP_neg = 0x1f,
+ DW_OP_not = 0x20,
+ DW_OP_or = 0x21,
+ DW_OP_plus = 0x22,
+ DW_OP_plus_uconst = 0x23,
+ DW_OP_shl = 0x24,
+ DW_OP_shr = 0x25,
+ DW_OP_shra = 0x26,
+ DW_OP_xor = 0x27,
+ DW_OP_bra = 0x28,
+ DW_OP_eq = 0x29,
+ DW_OP_ge = 0x2a,
+ DW_OP_gt = 0x2b,
+ DW_OP_le = 0x2c,
+ DW_OP_lt = 0x2d,
+ DW_OP_ne = 0x2e,
+ DW_OP_skip = 0x2f,
+ DW_OP_lit0 = 0x30,
+ DW_OP_lit1 = 0x31,
+ DW_OP_lit2 = 0x32,
+ DW_OP_lit3 = 0x33,
+ DW_OP_lit4 = 0x34,
+ DW_OP_lit5 = 0x35,
+ DW_OP_lit6 = 0x36,
+ DW_OP_lit7 = 0x37,
+ DW_OP_lit8 = 0x38,
+ DW_OP_lit9 = 0x39,
+ DW_OP_lit10 = 0x3a,
+ DW_OP_lit11 = 0x3b,
+ DW_OP_lit12 = 0x3c,
+ DW_OP_lit13 = 0x3d,
+ DW_OP_lit14 = 0x3e,
+ DW_OP_lit15 = 0x3f,
+ DW_OP_lit16 = 0x40,
+ DW_OP_lit17 = 0x41,
+ DW_OP_lit18 = 0x42,
+ DW_OP_lit19 = 0x43,
+ DW_OP_lit20 = 0x44,
+ DW_OP_lit21 = 0x45,
+ DW_OP_lit22 = 0x46,
+ DW_OP_lit23 = 0x47,
+ DW_OP_lit24 = 0x48,
+ DW_OP_lit25 = 0x49,
+ DW_OP_lit26 = 0x4a,
+ DW_OP_lit27 = 0x4b,
+ DW_OP_lit28 = 0x4c,
+ DW_OP_lit29 = 0x4d,
+ DW_OP_lit30 = 0x4e,
+ DW_OP_lit31 = 0x4f,
+ DW_OP_reg0 = 0x50,
+ DW_OP_reg1 = 0x51,
+ DW_OP_reg2 = 0x52,
+ DW_OP_reg3 = 0x53,
+ DW_OP_reg4 = 0x54,
+ DW_OP_reg5 = 0x55,
+ DW_OP_reg6 = 0x56,
+ DW_OP_reg7 = 0x57,
+ DW_OP_reg8 = 0x58,
+ DW_OP_reg9 = 0x59,
+ DW_OP_reg10 = 0x5a,
+ DW_OP_reg11 = 0x5b,
+ DW_OP_reg12 = 0x5c,
+ DW_OP_reg13 = 0x5d,
+ DW_OP_reg14 = 0x5e,
+ DW_OP_reg15 = 0x5f,
+ DW_OP_reg16 = 0x60,
+ DW_OP_reg17 = 0x61,
+ DW_OP_reg18 = 0x62,
+ DW_OP_reg19 = 0x63,
+ DW_OP_reg20 = 0x64,
+ DW_OP_reg21 = 0x65,
+ DW_OP_reg22 = 0x66,
+ DW_OP_reg23 = 0x67,
+ DW_OP_reg24 = 0x68,
+ DW_OP_reg25 = 0x69,
+ DW_OP_reg26 = 0x6a,
+ DW_OP_reg27 = 0x6b,
+ DW_OP_reg28 = 0x6c,
+ DW_OP_reg29 = 0x6d,
+ DW_OP_reg30 = 0x6e,
+ DW_OP_reg31 = 0x6f,
+ DW_OP_breg0 = 0x70,
+ DW_OP_breg1 = 0x71,
+ DW_OP_breg2 = 0x72,
+ DW_OP_breg3 = 0x73,
+ DW_OP_breg4 = 0x74,
+ DW_OP_breg5 = 0x75,
+ DW_OP_breg6 = 0x76,
+ DW_OP_breg7 = 0x77,
+ DW_OP_breg8 = 0x78,
+ DW_OP_breg9 = 0x79,
+ DW_OP_breg10 = 0x7a,
+ DW_OP_breg11 = 0x7b,
+ DW_OP_breg12 = 0x7c,
+ DW_OP_breg13 = 0x7d,
+ DW_OP_breg14 = 0x7e,
+ DW_OP_breg15 = 0x7f,
+ DW_OP_breg16 = 0x80,
+ DW_OP_breg17 = 0x81,
+ DW_OP_breg18 = 0x82,
+ DW_OP_breg19 = 0x83,
+ DW_OP_breg20 = 0x84,
+ DW_OP_breg21 = 0x85,
+ DW_OP_breg22 = 0x86,
+ DW_OP_breg23 = 0x87,
+ DW_OP_breg24 = 0x88,
+ DW_OP_breg25 = 0x89,
+ DW_OP_breg26 = 0x8a,
+ DW_OP_breg27 = 0x8b,
+ DW_OP_breg28 = 0x8c,
+ DW_OP_breg29 = 0x8d,
+ DW_OP_breg30 = 0x8e,
+ DW_OP_breg31 = 0x8f,
+ DW_OP_regx = 0x90,
+ DW_OP_fbreg = 0x91,
+ DW_OP_bregx = 0x92,
+ DW_OP_piece = 0x93,
+ DW_OP_deref_size = 0x94,
+ DW_OP_xderef_size = 0x95,
+ DW_OP_nop = 0x96,
+ /* DWARF 3 extensions. */
+ DW_OP_push_object_address = 0x97,
+ DW_OP_call2 = 0x98,
+ DW_OP_call4 = 0x99,
+ DW_OP_call_ref = 0x9a,
+ DW_OP_form_tls_address = 0x9b,
+ DW_OP_call_frame_cfa = 0x9c,
+ DW_OP_bit_piece = 0x9d,
+
+ /* DWARF 4 extensions. */
+ DW_OP_implicit_value = 0x9e,
+ DW_OP_stack_value = 0x9f,
+
+ DW_OP_lo_user = 0xe0, /* Implementation-defined range start. */
+ DW_OP_hi_user = 0xff, /* Implementation-defined range end. */
+
+ /* GNU extensions. */
+ DW_OP_GNU_push_tls_address = 0xe0,
+ /* The following is for marking variables that are uninitialized. */
+ DW_OP_GNU_uninit = 0xf0,
+ DW_OP_GNU_encoded_addr = 0xf1,
+ /* The GNU implicit pointer extension.
+ See http://www.dwarfstd.org/ShowIssue.php?issue=100831.1&type=open . */
+ DW_OP_GNU_implicit_pointer = 0xf2,
+ /* The GNU entry value extension.
+ See http://www.dwarfstd.org/ShowIssue.php?issue=100909.1&type=open . */
+ DW_OP_GNU_entry_value = 0xf3,
+ /* The GNU typed stack extension.
+ See http://www.dwarfstd.org/doc/040408.1.html . */
+ DW_OP_GNU_const_type = 0xf4,
+ DW_OP_GNU_regval_type = 0xf5,
+ DW_OP_GNU_deref_type = 0xf6,
+ DW_OP_GNU_convert = 0xf7,
+ DW_OP_GNU_reinterpret = 0xf9,
+ /* The GNU parameter ref extension. */
+ DW_OP_GNU_parameter_ref = 0xfa,
+ /* HP extensions. */
+ DW_OP_HP_unknown = 0xe0, /* Ouch, the same as GNU_push_tls_address. */
+ DW_OP_HP_is_value = 0xe1,
+ DW_OP_HP_fltconst4 = 0xe2,
+ DW_OP_HP_fltconst8 = 0xe3,
+ DW_OP_HP_mod_range = 0xe4,
+ DW_OP_HP_unmod_range = 0xe5,
+ DW_OP_HP_tls = 0xe6,
+ /* PGI (STMicroelectronics) extensions. */
+ DW_OP_PGI_omp_thread_num = 0xf8
+ };
+
+/* Type encodings. */
+enum dwarf_type
+ {
+ DW_ATE_void = 0x0,
+ DW_ATE_address = 0x1,
+ DW_ATE_boolean = 0x2,
+ DW_ATE_complex_float = 0x3,
+ DW_ATE_float = 0x4,
+ DW_ATE_signed = 0x5,
+ DW_ATE_signed_char = 0x6,
+ DW_ATE_unsigned = 0x7,
+ DW_ATE_unsigned_char = 0x8,
+ /* DWARF 3. */
+ DW_ATE_imaginary_float = 0x9,
+ DW_ATE_packed_decimal = 0xa,
+ DW_ATE_numeric_string = 0xb,
+ DW_ATE_edited = 0xc,
+ DW_ATE_signed_fixed = 0xd,
+ DW_ATE_unsigned_fixed = 0xe,
+ DW_ATE_decimal_float = 0xf,
+ /* DWARF 4. */
+ DW_ATE_UTF = 0x10,
+
+ DW_ATE_lo_user = 0x80,
+ DW_ATE_hi_user = 0xff,
+
+ /* HP extensions. */
+ DW_ATE_HP_float80 = 0x80, /* Floating-point (80 bit). */
+ DW_ATE_HP_complex_float80 = 0x81, /* Complex floating-point (80 bit). */
+ DW_ATE_HP_float128 = 0x82, /* Floating-point (128 bit). */
+ DW_ATE_HP_complex_float128 = 0x83, /* Complex fp (128 bit). */
+ DW_ATE_HP_floathpintel = 0x84, /* Floating-point (82 bit IA64). */
+ DW_ATE_HP_imaginary_float80 = 0x85,
+ DW_ATE_HP_imaginary_float128 = 0x86,
+ DW_ATE_HP_VAX_float = 0x88, /* F or G floating. */
+ DW_ATE_HP_VAX_float_d = 0x89, /* D floating. */
+ DW_ATE_HP_packed_decimal = 0x8a, /* Cobol. */
+ DW_ATE_HP_zoned_decimal = 0x8b, /* Cobol. */
+ DW_ATE_HP_edited = 0x8c, /* Cobol. */
+ DW_ATE_HP_signed_fixed = 0x8d, /* Cobol. */
+ DW_ATE_HP_unsigned_fixed = 0x8e, /* Cobol. */
+ DW_ATE_HP_VAX_complex_float = 0x8f, /* F or G floating complex. */
+ DW_ATE_HP_VAX_complex_float_d = 0x90 /* D floating complex. */
+ };
/* Decimal sign encodings. */
enum dwarf_decimal_sign_encoding
@@ -259,6 +787,48 @@ enum dwarf_line_number_hp_sfc_ops
DW_LNE_HP_SFC_associate = 3
};
+/* Call frame information. */
+enum dwarf_call_frame_info
+ {
+ DW_CFA_advance_loc = 0x40,
+ DW_CFA_offset = 0x80,
+ DW_CFA_restore = 0xc0,
+ DW_CFA_nop = 0x00,
+ DW_CFA_set_loc = 0x01,
+ DW_CFA_advance_loc1 = 0x02,
+ DW_CFA_advance_loc2 = 0x03,
+ DW_CFA_advance_loc4 = 0x04,
+ DW_CFA_offset_extended = 0x05,
+ DW_CFA_restore_extended = 0x06,
+ DW_CFA_undefined = 0x07,
+ DW_CFA_same_value = 0x08,
+ DW_CFA_register = 0x09,
+ DW_CFA_remember_state = 0x0a,
+ DW_CFA_restore_state = 0x0b,
+ DW_CFA_def_cfa = 0x0c,
+ DW_CFA_def_cfa_register = 0x0d,
+ DW_CFA_def_cfa_offset = 0x0e,
+ /* DWARF 3. */
+ DW_CFA_def_cfa_expression = 0x0f,
+ DW_CFA_expression = 0x10,
+ DW_CFA_offset_extended_sf = 0x11,
+ DW_CFA_def_cfa_sf = 0x12,
+ DW_CFA_def_cfa_offset_sf = 0x13,
+ DW_CFA_val_offset = 0x14,
+ DW_CFA_val_offset_sf = 0x15,
+ DW_CFA_val_expression = 0x16,
+
+ DW_CFA_lo_user = 0x1c,
+ DW_CFA_hi_user = 0x3f,
+
+ /* SGI/MIPS specific. */
+ DW_CFA_MIPS_advance_loc8 = 0x1d,
+ /* GNU extensions. */
+ DW_CFA_GNU_window_save = 0x2d,
+ DW_CFA_GNU_args_size = 0x2e,
+ DW_CFA_GNU_negative_offset_extended = 0x2f
+ };
+
#define DW_CIE_ID 0xffffffff
#define DW64_CIE_ID 0xffffffffffffffffULL
#define DW_CIE_VERSION 1
@@ -333,11 +903,6 @@ enum dwarf_macro_record_type
DW_MACRO_GNU_define_indirect = 5,
DW_MACRO_GNU_undef_indirect = 6,
DW_MACRO_GNU_transparent_include = 7,
- /* Extensions for DWZ multifile.
- See http://www.dwarfstd.org/ShowIssue.php?issue=120604.1&type=open . */
- DW_MACRO_GNU_define_indirect_alt = 8,
- DW_MACRO_GNU_undef_indirect_alt = 9,
- DW_MACRO_GNU_transparent_include_alt = 10,
DW_MACRO_GNU_lo_user = 0xe0,
DW_MACRO_GNU_hi_user = 0xff
};
@@ -365,37 +930,4 @@ enum dwarf_macro_record_type
#define DW_EH_PE_indirect 0x80
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/* Return the name of a DW_TAG_ constant, or NULL if the value is not
- recognized. */
-extern const char *get_DW_TAG_name (unsigned int tag);
-
-/* Return the name of a DW_AT_ constant, or NULL if the value is not
- recognized. */
-extern const char *get_DW_AT_name (unsigned int attr);
-
-/* Return the name of a DW_FORM_ constant, or NULL if the value is not
- recognized. */
-extern const char *get_DW_FORM_name (unsigned int form);
-
-/* Return the name of a DW_OP_ constant, or NULL if the value is not
- recognized. */
-extern const char *get_DW_OP_name (unsigned int op);
-
-/* Return the name of a DW_ATE_ constant, or NULL if the value is not
- recognized. */
-extern const char *get_DW_ATE_name (unsigned int enc);
-
-/* Return the name of a DW_CFA_ constant, or NULL if the value is not
- recognized. */
-extern const char *get_DW_CFA_name (unsigned int opc);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
#endif /* _DWARF2_H */
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog
index ef84aa36a..86179bf78 100644
--- a/include/elf/ChangeLog
+++ b/include/elf/ChangeLog
@@ -1,128 +1,3 @@
-2012-06-28 Iain Sandoe <iain@codesourcery.com>
-
- * common.h (AT_L1I_CACHESHAPE, AT_L1D_CACHESHAPE,
- AT_L2_CACHESHAPE, AT_L3_CACHESHAPE): New defines.
-
-2012-05-16 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/13503
- * avr.h (RELOC_NUMBERS): Rename R_AVR_8_HHI8 to R_AVR_8_HLO8.
-
-2012-05-15 James Murray <jsm@jsm-net.demon.co.uk>
-
- * m68hc11.h (R_M68HC12_16B, R_M68HC12_PCREL_9, R_M68HC12_PCREL_10)
- R_M68HC12_HI8XG, R_M68HC12_LO8XG): New relocations.
- (E_M68HC11_XGATE_RAMOFFSET): Define.
-
-2012-05-14 James Lemke <jwlemke@codesourcery.com>
- * ppc.h (SEC_PPC_VLE): Remove.
-
-2012-05-14 Catherine Moore <clm@codesourcery.com>
- James Lemke <jwlemke@codesourcery.com>
-
- * ppc.h (R_PPC_VLE_REL8): New reloction.
- (R_PPC_VLE_REL15): Likewise.
- (R_PPC_VLE_REL24): Likewise.
- (R_PPC_VLE_LO16A): Likewise.
- (R_PPC_VLE_LO16D): Likewise.
- (R_PPC_VLE_HI16A): Likewise.
- (R_PPC_VLE_HI16D): Likewise.
- (R_PPC_VLE_HA16A): Likewise.
- (R_PPC_VLE_HA16D): Likewise.
- (R_PPC_VLE_SDA21): Likewise.
- (R_PPC_VLE_SDA21_LO): Likewise.
- (R_PPC_VLE_SDAREL_LO16A): Likewise.
- (R_PPC_VLE_SDAREL_LO16D): Likewise.
- (R_PPC_VLE_SDAREL_HI16A): Likewise.
- (R_PPC_VLE_SDAREL_HI16D): Likewise.
- (R_PPC_VLE_SDAREL_HA16A): Likewise.
- (R_PPC_VLE_SDAREL_HA16D): Likewise.
- (SEC_PPC_VLE): Remove.
- (PF_PPC_VLE): New program header flag.
- (SHF_PPC_VLE): New section header flag.
- (vle_opcodes, vle_num_opcodes): New.
- (VLE_OP): New macro.
- (VLE_OP_TO_SEG): New macro.
-
-2012-05-11 Georg-Johann Lay <avr@gjlay.de
-
- PR target/13503
- * elf/avr.h (RELOC_NUMBERS): Add values for R_AVR_8_LO8,
- R_AVR_8_HI8, R_AVR_8_HHI8.
-
-2012-05-03 Sean Keys <skeys@ipdatasys.com>
-
- * xgate.h: Mininal file to support XGATE relocations.
-
-2012-04-27 David S. Miller <davem@davemloft.net>
-
- * sparc.h: Add new ELF_SPARC_HWCAP_* defines for crypto,
- pause, and compare-and-branch instructions.
-
-2012-03-07 Nick Clifton <nickc@redhat.com>
-
- * mn10300.h (elf_mn10300_reloc_type): Add R_MN10300_TLS_GD,
- R_MN10300_TLS_LD, R_MN10300_TLS_LDO, R_MN10300_TLS_GOTIE,
- R_MN10300_TLS_IE, R_MN10300_TLS_LE, R_MN10300_TLS_DPTMOD,
- R_MN10300_TLS_DTPOFF and R_MN10300_TLS_TPOFF.
-
-2012-02-25 Walter Lee <walt@tilera.com>
-
- * tilegx.h (R_TILEGX_IMM16_X0_HW1_GOT): Delete.
- (R_TILEGX_IMM16_X1_HW1_GOT): Ditto.
- (R_TILEGX_IMM16_X0_HW2_GOT): Ditto.
- (R_TILEGX_IMM16_X1_HW2_GOT): Ditto.
- (R_TILEGX_IMM16_X0_HW3_GOT): Ditto.
- (R_TILEGX_IMM16_X1_HW3_GOT): Ditto.
- (R_TILEGX_IMM16_X0_HW2_LAST_GOT): Ditto.
- (R_TILEGX_IMM16_X1_HW2_LAST_GOT): Ditto.
- (R_TILEGX_IMM16_X0_HW1_TLS_GD): Ditto.
- (R_TILEGX_IMM16_X1_HW1_TLS_GD): Ditto.
- (R_TILEGX_IMM16_X0_HW2_TLS_GD): Ditto.
- (R_TILEGX_IMM16_X1_HW2_TLS_GD): Ditto.
- (R_TILEGX_IMM16_X0_HW3_TLS_GD): Ditto.
- (R_TILEGX_IMM16_X1_HW3_TLS_GD): Ditto.
- (R_TILEGX_IMM16_X0_HW2_LAST_TLS_GD): Ditto.
- (R_TILEGX_IMM16_X1_HW2_LAST_TLS_GD): Ditto.
- (R_TILEGX_IMM16_X0_HW1_TLS_IE): Ditto.
- (R_TILEGX_IMM16_X1_HW1_TLS_IE): Ditto.
- (R_TILEGX_IMM16_X0_HW2_TLS_IE): Ditto.
- (R_TILEGX_IMM16_X1_HW2_TLS_IE): Ditto.
- (R_TILEGX_IMM16_X0_HW3_TLS_IE): Ditto.
- (R_TILEGX_IMM16_X1_HW3_TLS_IE): Ditto.
- (R_TILEGX_IMM16_X0_HW2_LAST_TLS_IE): Ditto.
- (R_TILEGX_IMM16_X1_HW2_LAST_TLS_IE): Ditto.
- (R_TILEGX_IMM16_X0_HW0_TLS_LE): New relocation.
- (R_TILEGX_IMM16_X1_HW0_TLS_LE): Ditto.
- (R_TILEGX_IMM16_X0_HW0_LAST_TLS_LE): Ditto.
- (R_TILEGX_IMM16_X1_HW0_LAST_TLS_LE): Ditto.
- (R_TILEGX_IMM16_X0_HW1_LAST_TLS_LE): Ditto.
- (R_TILEGX_IMM16_X1_HW1_LAST_TLS_LE): Ditto.
- (R_TILEGX_TLS_GD_CALL): Ditto.
- (R_TILEGX_IMM8_X0_TLS_GD_ADD): Ditto.
- (R_TILEGX_IMM8_X1_TLS_GD_ADD): Ditto.
- (R_TILEGX_IMM8_Y0_TLS_GD_ADD): Ditto.
- (R_TILEGX_IMM8_Y1_TLS_GD_ADD): Ditto.
- (R_TILEGX_TLS_IE_LOAD): Ditto.
- (R_TILEGX_IMM8_X0_TLS_ADD): Ditto.
- (R_TILEGX_IMM8_X1_TLS_ADD): Ditto.
- (R_TILEGX_IMM8_Y0_TLS_ADD): Ditto.
- (R_TILEGX_IMM8_Y1_TLS_ADD): Ditto.
- * tilepro.h (R_TILEPRO_TLS_GD_CALL): New relocation.
- (R_TILEPRO_IMM8_X0_TLS_GD_ADD): Ditto.
- (R_TILEPRO_IMM8_X1_TLS_GD_ADD): Ditto.
- (R_TILEPRO_IMM8_Y0_TLS_GD_ADD): Ditto.
- (R_TILEPRO_IMM8_Y1_TLS_GD_ADD): Ditto.
- (R_TILEPRO_TLS_IE_LOAD): Ditto.
- (R_TILEPRO_IMM16_X0_TLS_LE): Ditto.
- (R_TILEPRO_IMM16_X1_TLS_LE): Ditto.
- (R_TILEPRO_IMM16_X0_TLS_LE_LO): Ditto.
- (R_TILEPRO_IMM16_X1_TLS_LE_LO): Ditto.
- (R_TILEPRO_IMM16_X0_TLS_LE_HI): Ditto.
- (R_TILEPRO_IMM16_X1_TLS_LE_HI): Ditto.
- (R_TILEPRO_IMM16_X0_TLS_LE_HA): Ditto.
- (R_TILEPRO_IMM16_X1_TLS_LE_HA): Ditto.
-
2011-12-22 DJ Delorie <dj@redhat.com>
* rl78.h (R_RL78_RH_RELAX, R_RL78_RH_SFR, R_RL78_RH_SADDR): New.
diff --git a/include/elf/avr.h b/include/elf/avr.h
index b45d902d2..11d43f966 100644
--- a/include/elf/avr.h
+++ b/include/elf/avr.h
@@ -1,6 +1,5 @@
/* AVR ELF support for BFD.
- Copyright 1999, 2000, 2004, 2006, 2010, 2012
- Free Software Foundation, Inc.
+ Copyright 1999, 2000, 2004, 2006, 2010 Free Software Foundation, Inc.
Contributed by Denis Chertykov <denisc@overta.ru>
This file is part of BFD, the Binary File Descriptor library.
@@ -31,16 +30,16 @@
as reference for the relocations so that linker relaxation is possible. */
#define EF_AVR_LINKRELAX_PREPARED 0x80
-#define E_AVR_MACH_AVR1 1
-#define E_AVR_MACH_AVR2 2
-#define E_AVR_MACH_AVR25 25
-#define E_AVR_MACH_AVR3 3
-#define E_AVR_MACH_AVR31 31
-#define E_AVR_MACH_AVR35 35
-#define E_AVR_MACH_AVR4 4
-#define E_AVR_MACH_AVR5 5
-#define E_AVR_MACH_AVR51 51
-#define E_AVR_MACH_AVR6 6
+#define E_AVR_MACH_AVR1 1
+#define E_AVR_MACH_AVR2 2
+#define E_AVR_MACH_AVR25 25
+#define E_AVR_MACH_AVR3 3
+#define E_AVR_MACH_AVR31 31
+#define E_AVR_MACH_AVR35 35
+#define E_AVR_MACH_AVR4 4
+#define E_AVR_MACH_AVR5 5
+#define E_AVR_MACH_AVR51 51
+#define E_AVR_MACH_AVR6 6
#define E_AVR_MACH_XMEGA1 101
#define E_AVR_MACH_XMEGA2 102
#define E_AVR_MACH_XMEGA3 103
@@ -78,9 +77,6 @@ START_RELOC_NUMBERS (elf_avr_reloc_type)
RELOC_NUMBER (R_AVR_LO8_LDI_GS, 24)
RELOC_NUMBER (R_AVR_HI8_LDI_GS, 25)
RELOC_NUMBER (R_AVR_8, 26)
- RELOC_NUMBER (R_AVR_8_LO8, 27)
- RELOC_NUMBER (R_AVR_8_HI8, 28)
- RELOC_NUMBER (R_AVR_8_HLO8, 29)
END_RELOC_NUMBERS (R_AVR_max)
#endif /* _ELF_AVR_H */
diff --git a/include/elf/common.h b/include/elf/common.h
index 58e489afe..5cddc0bef 100644
--- a/include/elf/common.h
+++ b/include/elf/common.h
@@ -1,6 +1,6 @@
/* ELF support for BFD.
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
Written by Fred Fish @ Cygnus Support, from information published
@@ -935,18 +935,6 @@
#define AT_SYSINFO 32
#define AT_SYSINFO_EHDR 33 /* Pointer to ELF header of system-supplied DSO. */
-/* More complete cache descriptions than AT_[DIU]CACHEBSIZE. If the
- value is -1, then the cache doesn't exist. Otherwise:
-
- bit 0-3: Cache set-associativity; 0 means fully associative.
- bit 4-7: Log2 of cacheline size.
- bit 8-31: Size of the entire cache >> 8. */
-
-#define AT_L1I_CACHESHAPE 34
-#define AT_L1D_CACHESHAPE 35
-#define AT_L2_CACHESHAPE 36
-#define AT_L3_CACHESHAPE 37
-
#define AT_SUN_UID 2000 /* Effective user ID. */
#define AT_SUN_RUID 2001 /* Real user ID. */
#define AT_SUN_GID 2002 /* Effective group ID. */
diff --git a/include/elf/m68hc11.h b/include/elf/m68hc11.h
index 58d882088..ca325d981 100644
--- a/include/elf/m68hc11.h
+++ b/include/elf/m68hc11.h
@@ -1,5 +1,5 @@
/* m68hc11 & m68hc12 ELF support for BFD.
- Copyright 1999, 2000, 2001, 2002, 2010, 2012 Free Software Foundation, Inc.
+ Copyright 1999, 2000, 2001, 2002, 2010 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -42,12 +42,6 @@ START_RELOC_NUMBERS (elf_m68hc11_reloc_type)
RELOC_NUMBER (R_M68HC11_LO16, 12)
RELOC_NUMBER (R_M68HC11_PAGE, 13)
- RELOC_NUMBER (R_M68HC12_16B, 15)
- RELOC_NUMBER (R_M68HC12_PCREL_9, 16)
- RELOC_NUMBER (R_M68HC12_PCREL_10, 17)
- RELOC_NUMBER (R_M68HC12_HI8XG, 18)
- RELOC_NUMBER (R_M68HC12_LO8XG, 19)
-
/* GNU extension for linker relaxation.
Mark beginning of a jump instruction (any form). */
RELOC_NUMBER (R_M68HC11_RL_JUMP, 20)
@@ -70,12 +64,6 @@ END_RELOC_NUMBERS (R_M68HC11_max)
/* Uses 68HC12 memory banks. */
#define E_M68HC12_BANKS 0x000000004
-/* XGATE ram offsetting. */
-#define E_M68HC11_XGATE_RAMOFFSET 0x000000100
-
-/* Suppress warnings */
-#define E_M68HC11_NO_BANK_WARNING 0x000000200
-
#define EF_M68HC11_MACH_MASK 0xF0
#define EF_M68HC11_GENERIC 0x00 /* Generic 68HC12/backward compatibility. */
#define EF_M68HC12_MACH 0x10 /* 68HC12 microcontroller. */
@@ -98,10 +86,10 @@ END_RELOC_NUMBERS (R_M68HC11_max)
/* Special values for the st_other field in the symbol table. These
are used for 68HC12 to identify far functions (must be called with
'call' and returns with 'rtc'). */
-#define STO_M68HC12_FAR 0x80
+#define STO_M68HC12_FAR 0x80
/* Identify interrupt handlers. This is used by the debugger to
correctly compute the stack frame. */
-#define STO_M68HC12_INTERRUPT 0x40
+#define STO_M68HC12_INTERRUPT 0x40
#endif
diff --git a/include/elf/mn10300.h b/include/elf/mn10300.h
index 529b3897b..444787b5f 100644
--- a/include/elf/mn10300.h
+++ b/include/elf/mn10300.h
@@ -51,15 +51,6 @@ START_RELOC_NUMBERS (elf_mn10300_reloc_type)
RELOC_NUMBER (R_MN10300_GLOB_DAT, 21)
RELOC_NUMBER (R_MN10300_JMP_SLOT, 22)
RELOC_NUMBER (R_MN10300_RELATIVE, 23)
- RELOC_NUMBER (R_MN10300_TLS_GD, 24)
- RELOC_NUMBER (R_MN10300_TLS_LD, 25)
- RELOC_NUMBER (R_MN10300_TLS_LDO, 26)
- RELOC_NUMBER (R_MN10300_TLS_GOTIE, 27)
- RELOC_NUMBER (R_MN10300_TLS_IE, 28)
- RELOC_NUMBER (R_MN10300_TLS_LE, 29)
- RELOC_NUMBER (R_MN10300_TLS_DTPMOD, 30)
- RELOC_NUMBER (R_MN10300_TLS_DTPOFF, 31)
- RELOC_NUMBER (R_MN10300_TLS_TPOFF, 32)
RELOC_NUMBER (R_MN10300_SYM_DIFF, 33)
RELOC_NUMBER (R_MN10300_ALIGN, 34)
END_RELOC_NUMBERS (R_MN10300_MAX)
diff --git a/include/elf/ppc.h b/include/elf/ppc.h
index f80a1e8a3..8e27855be 100644
--- a/include/elf/ppc.h
+++ b/include/elf/ppc.h
@@ -131,25 +131,6 @@ START_RELOC_NUMBERS (elf_ppc_reloc_type)
RELOC_NUMBER (R_PPC_EMB_BIT_FLD, 115)
RELOC_NUMBER (R_PPC_EMB_RELSDA, 116)
-/* PowerPC VLE relocations. */
- RELOC_NUMBER (R_PPC_VLE_REL8, 216)
- RELOC_NUMBER (R_PPC_VLE_REL15, 217)
- RELOC_NUMBER (R_PPC_VLE_REL24, 218)
- RELOC_NUMBER (R_PPC_VLE_LO16A, 219)
- RELOC_NUMBER (R_PPC_VLE_LO16D, 220)
- RELOC_NUMBER (R_PPC_VLE_HI16A, 221)
- RELOC_NUMBER (R_PPC_VLE_HI16D, 222)
- RELOC_NUMBER (R_PPC_VLE_HA16A, 223)
- RELOC_NUMBER (R_PPC_VLE_HA16D, 224)
- RELOC_NUMBER (R_PPC_VLE_SDA21, 225)
- RELOC_NUMBER (R_PPC_VLE_SDA21_LO, 226)
- RELOC_NUMBER (R_PPC_VLE_SDAREL_LO16A, 227)
- RELOC_NUMBER (R_PPC_VLE_SDAREL_LO16D, 228)
- RELOC_NUMBER (R_PPC_VLE_SDAREL_HI16A, 229)
- RELOC_NUMBER (R_PPC_VLE_SDAREL_HI16D, 230)
- RELOC_NUMBER (R_PPC_VLE_SDAREL_HA16A, 231)
- RELOC_NUMBER (R_PPC_VLE_SDAREL_HA16D, 232)
-
/* Support STT_GNU_IFUNC plt calls. */
RELOC_NUMBER (R_PPC_IRELATIVE, 248)
@@ -185,11 +166,9 @@ END_RELOC_NUMBERS (R_PPC_max)
#define EF_PPC_RELOCATABLE 0x00010000 /* PowerPC -mrelocatable flag. */
#define EF_PPC_RELOCATABLE_LIB 0x00008000 /* PowerPC -mrelocatable-lib flag. */
-/* Processor specific program headers, p_flags field. */
-#define PF_PPC_VLE 0x10000000 /* PowerPC VLE. */
-
-/* Processor specific section headers, sh_flags field. */
-#define SHF_PPC_VLE 0x10000000 /* PowerPC VLE text section. */
+/* This bit is reserved by BFD for processor specific stuff. Name
+ it properly so that we can easily stay consistent elsewhere. */
+#define SEC_PPC_VLE SEC_TIC54X_BLOCK
/* Processor specific section headers, sh_type field. */
diff --git a/include/elf/s390.h b/include/elf/s390.h
index a5b4217bc..807b7e8e0 100644
--- a/include/elf/s390.h
+++ b/include/elf/s390.h
@@ -119,7 +119,6 @@ START_RELOC_NUMBERS (elf_s390_reloc_type)
RELOC_NUMBER (R_390_GOTPLT20, 59) /* 20 bit offset to jump slot. */
RELOC_NUMBER (R_390_TLS_GOTIE20, 60)/* 20 bit GOT offset for statis TLS
block offset. */
- RELOC_NUMBER (R_390_IRELATIVE, 61) /* IFUNC relocation. */
/* These are GNU extensions to enable C++ vtable garbage collection. */
RELOC_NUMBER (R_390_GNU_VTINHERIT, 250)
RELOC_NUMBER (R_390_GNU_VTENTRY, 251)
diff --git a/include/elf/sparc.h b/include/elf/sparc.h
index d182f4d76..fc8a765a6 100644
--- a/include/elf/sparc.h
+++ b/include/elf/sparc.h
@@ -162,7 +162,6 @@ START_RELOC_NUMBERS (elf_sparc_reloc_type)
RELOC_NUMBER (R_SPARC_H34, 85)
RELOC_NUMBER (R_SPARC_SIZE32, 86)
RELOC_NUMBER (R_SPARC_SIZE64, 87)
- RELOC_NUMBER (R_SPARC_WDISP10, 88)
EMPTY_RELOC (R_SPARC_max_std)
@@ -213,19 +212,5 @@ enum
#define ELF_SPARC_HWCAP_IMA 0x00008000 /* integer multiply-add */
#define ELF_SPARC_HWCAP_ASI_CACHE_SPARING \
0x00010000 /* cache sparing ASIs */
-#define ELF_SPARC_HWCAP_AES 0x00020000 /* AES crypto insns */
-#define ELF_SPARC_HWCAP_DES 0x00040000 /* DES crypto insns */
-#define ELF_SPARC_HWCAP_KASUMI 0x00080000 /* KASUMI crypto insns */
-#define ELF_SPARC_HWCAP_CAMELLIA \
- 0x00100000 /* CAMELLIA crypto insns */
-#define ELF_SPARC_HWCAP_MD5 0x00200000 /* MD5 hashing insns */
-#define ELF_SPARC_HWCAP_SHA1 0x00400000 /* SHA1 hashing insns */
-#define ELF_SPARC_HWCAP_SHA256 0x00800000 /* SHA256 hashing insns */
-#define ELF_SPARC_HWCAP_SHA512 0x01000000 /* SHA512 hashing insns */
-#define ELF_SPARC_HWCAP_MPMUL 0x02000000 /* Multiple Precision Multiply */
-#define ELF_SPARC_HWCAP_MONT 0x04000000 /* Montgomery Mult/Sqrt */
-#define ELF_SPARC_HWCAP_PAUSE 0x08000000 /* Pause insn */
-#define ELF_SPARC_HWCAP_CBCOND 0x10000000 /* Compare and Branch insns */
-#define ELF_SPARC_HWCAP_CRC32C 0x20000000 /* CRC32C insn */
#endif /* _ELF_SPARC_H */
diff --git a/include/elf/tilegx.h b/include/elf/tilegx.h
index 004ce28ca..d276f2e5f 100644
--- a/include/elf/tilegx.h
+++ b/include/elf/tilegx.h
@@ -104,37 +104,48 @@ START_RELOC_NUMBERS (elf_tilegx_reloc_type)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_GOT, 64)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_GOT, 65)
- /* Relocs 66-71 are currently not defined. */
-
+ RELOC_NUMBER (R_TILEGX_IMM16_X0_HW1_GOT, 66)
+ RELOC_NUMBER (R_TILEGX_IMM16_X1_HW1_GOT, 67)
+ RELOC_NUMBER (R_TILEGX_IMM16_X0_HW2_GOT, 68)
+ RELOC_NUMBER (R_TILEGX_IMM16_X1_HW2_GOT, 69)
+ RELOC_NUMBER (R_TILEGX_IMM16_X0_HW3_GOT, 70)
+ RELOC_NUMBER (R_TILEGX_IMM16_X1_HW3_GOT, 71)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_LAST_GOT, 72)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_LAST_GOT, 73)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW1_LAST_GOT, 74)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW1_LAST_GOT, 75)
- /* Relocs 76-77 are currently not defined. */
+ RELOC_NUMBER (R_TILEGX_IMM16_X0_HW2_LAST_GOT, 76)
+ RELOC_NUMBER (R_TILEGX_IMM16_X1_HW2_LAST_GOT, 77)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_TLS_GD, 78)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_TLS_GD, 79)
- RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_TLS_LE, 80)
- RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_TLS_LE, 81)
- RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_LAST_TLS_LE, 82)
- RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_LAST_TLS_LE, 83)
- RELOC_NUMBER (R_TILEGX_IMM16_X0_HW1_LAST_TLS_LE, 84)
- RELOC_NUMBER (R_TILEGX_IMM16_X1_HW1_LAST_TLS_LE, 85)
+ RELOC_NUMBER (R_TILEGX_IMM16_X0_HW1_TLS_GD, 80)
+ RELOC_NUMBER (R_TILEGX_IMM16_X1_HW1_TLS_GD, 81)
+ RELOC_NUMBER (R_TILEGX_IMM16_X0_HW2_TLS_GD, 82)
+ RELOC_NUMBER (R_TILEGX_IMM16_X1_HW2_TLS_GD, 83)
+ RELOC_NUMBER (R_TILEGX_IMM16_X0_HW3_TLS_GD, 84)
+ RELOC_NUMBER (R_TILEGX_IMM16_X1_HW3_TLS_GD, 85)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_LAST_TLS_GD, 86)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_LAST_TLS_GD, 87)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW1_LAST_TLS_GD, 88)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW1_LAST_TLS_GD, 89)
- /* Relocs 90-91 are currently not defined. */
+ RELOC_NUMBER (R_TILEGX_IMM16_X0_HW2_LAST_TLS_GD, 90)
+ RELOC_NUMBER (R_TILEGX_IMM16_X1_HW2_LAST_TLS_GD, 91)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_TLS_IE, 92)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_TLS_IE, 93)
- /* Relocs 94-99 are currently not defined. */
-
+ RELOC_NUMBER (R_TILEGX_IMM16_X0_HW1_TLS_IE, 94)
+ RELOC_NUMBER (R_TILEGX_IMM16_X1_HW1_TLS_IE, 95)
+ RELOC_NUMBER (R_TILEGX_IMM16_X0_HW2_TLS_IE, 96)
+ RELOC_NUMBER (R_TILEGX_IMM16_X1_HW2_TLS_IE, 97)
+ RELOC_NUMBER (R_TILEGX_IMM16_X0_HW3_TLS_IE, 98)
+ RELOC_NUMBER (R_TILEGX_IMM16_X1_HW3_TLS_IE, 99)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_LAST_TLS_IE, 100)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_LAST_TLS_IE, 101)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW1_LAST_TLS_IE, 102)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW1_LAST_TLS_IE, 103)
- /* Relocs 104-105 are currently not defined. */
+ RELOC_NUMBER (R_TILEGX_IMM16_X0_HW2_LAST_TLS_IE, 104)
+ RELOC_NUMBER (R_TILEGX_IMM16_X1_HW2_LAST_TLS_IE, 105)
RELOC_NUMBER (R_TILEGX_TLS_DTPMOD64, 106)
RELOC_NUMBER (R_TILEGX_TLS_DTPOFF64, 107)
@@ -143,17 +154,6 @@ START_RELOC_NUMBERS (elf_tilegx_reloc_type)
RELOC_NUMBER (R_TILEGX_TLS_DTPOFF32, 110)
RELOC_NUMBER (R_TILEGX_TLS_TPOFF32, 111)
- RELOC_NUMBER (R_TILEGX_TLS_GD_CALL, 112)
- RELOC_NUMBER (R_TILEGX_IMM8_X0_TLS_GD_ADD, 113)
- RELOC_NUMBER (R_TILEGX_IMM8_X1_TLS_GD_ADD, 114)
- RELOC_NUMBER (R_TILEGX_IMM8_Y0_TLS_GD_ADD, 115)
- RELOC_NUMBER (R_TILEGX_IMM8_Y1_TLS_GD_ADD, 116)
- RELOC_NUMBER (R_TILEGX_TLS_IE_LOAD, 117)
- RELOC_NUMBER (R_TILEGX_IMM8_X0_TLS_ADD, 118)
- RELOC_NUMBER (R_TILEGX_IMM8_X1_TLS_ADD, 119)
- RELOC_NUMBER (R_TILEGX_IMM8_Y0_TLS_ADD, 120)
- RELOC_NUMBER (R_TILEGX_IMM8_Y1_TLS_ADD, 121)
-
/* These are GNU extensions to enable C++ vtable garbage collection. */
RELOC_NUMBER (R_TILEGX_GNU_VTINHERIT, 128)
RELOC_NUMBER (R_TILEGX_GNU_VTENTRY, 129)
diff --git a/include/elf/tilepro.h b/include/elf/tilepro.h
index 0079a2fe4..899697f60 100644
--- a/include/elf/tilepro.h
+++ b/include/elf/tilepro.h
@@ -96,14 +96,7 @@ START_RELOC_NUMBERS (elf_tilepro_reloc_type)
RELOC_NUMBER (R_TILEPRO_DEST_IMM8_X1, 55)
- /* Relocs 56-59 are currently not defined. */
-
- RELOC_NUMBER (R_TILEPRO_TLS_GD_CALL, 60)
- RELOC_NUMBER (R_TILEPRO_IMM8_X0_TLS_GD_ADD, 61)
- RELOC_NUMBER (R_TILEPRO_IMM8_X1_TLS_GD_ADD, 62)
- RELOC_NUMBER (R_TILEPRO_IMM8_Y0_TLS_GD_ADD, 63)
- RELOC_NUMBER (R_TILEPRO_IMM8_Y1_TLS_GD_ADD, 64)
- RELOC_NUMBER (R_TILEPRO_TLS_IE_LOAD, 65)
+ /* Relocs 56-65 are currently not defined. */
RELOC_NUMBER (R_TILEPRO_IMM16_X0_TLS_GD, 66)
RELOC_NUMBER (R_TILEPRO_IMM16_X1_TLS_GD, 67)
@@ -127,15 +120,6 @@ START_RELOC_NUMBERS (elf_tilepro_reloc_type)
RELOC_NUMBER (R_TILEPRO_TLS_DTPOFF32, 83)
RELOC_NUMBER (R_TILEPRO_TLS_TPOFF32, 84)
- RELOC_NUMBER (R_TILEPRO_IMM16_X0_TLS_LE, 85)
- RELOC_NUMBER (R_TILEPRO_IMM16_X1_TLS_LE, 86)
- RELOC_NUMBER (R_TILEPRO_IMM16_X0_TLS_LE_LO, 87)
- RELOC_NUMBER (R_TILEPRO_IMM16_X1_TLS_LE_LO, 88)
- RELOC_NUMBER (R_TILEPRO_IMM16_X0_TLS_LE_HI, 89)
- RELOC_NUMBER (R_TILEPRO_IMM16_X1_TLS_LE_HI, 90)
- RELOC_NUMBER (R_TILEPRO_IMM16_X0_TLS_LE_HA, 91)
- RELOC_NUMBER (R_TILEPRO_IMM16_X1_TLS_LE_HA, 92)
-
/* These are GNU extensions to enable C++ vtable garbage collection. */
RELOC_NUMBER (R_TILEPRO_GNU_VTINHERIT, 128)
RELOC_NUMBER (R_TILEPRO_GNU_VTENTRY, 129)
diff --git a/include/elf/xgate.h b/include/elf/xgate.h
deleted file mode 100644
index 33286a8d0..000000000
--- a/include/elf/xgate.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/* XGATE ELF support for BFD.
- Copyright 2010, 2011, 2012 Free Software Foundation, Inc.
-
- This file is part of BFD, the Binary File Descriptor 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifndef _ELF_XGATE_H
-#define _ELF_XGATE_H
-
-#include "elf/reloc-macros.h"
-
-/* Relocation types. */
-START_RELOC_NUMBERS (elf_xgate_reloc_type)
- RELOC_NUMBER (R_XGATE_NONE, 0)
- RELOC_NUMBER (R_XGATE_8, 1)
- RELOC_NUMBER (R_XGATE_PCREL_8, 2)
- RELOC_NUMBER (R_XGATE_16, 3)
- RELOC_NUMBER (R_XGATE_32, 4)
- RELOC_NUMBER (R_XGATE_PCREL_16, 5)
- /* These are GNU extensions to enable C++ vtable garbage collection. */
- RELOC_NUMBER (R_XGATE_GNU_VTINHERIT, 6)
- RELOC_NUMBER (R_XGATE_GNU_VTENTRY, 7)
-
- RELOC_NUMBER (R_XGATE_24, 8)
- RELOC_NUMBER (R_XGATE_LO16, 9)
- RELOC_NUMBER (R_XGATE_GPAGE, 10)
- RELOC_NUMBER (R_XGATE_PCREL_9, 11)
- RELOC_NUMBER (R_XGATE_PCREL_10, 12)
- RELOC_NUMBER (R_XGATE_IMM8_LO, 13)
- RELOC_NUMBER (R_XGATE_IMM8_HI, 14)
- RELOC_NUMBER (R_XGATE_IMM3, 15)
- RELOC_NUMBER (R_XGATE_IMM4, 16)
- RELOC_NUMBER (R_XGATE_IMM5, 17)
-
- /* GNU extension for linker relaxation.
- Mark beginning of a jump instruction (any form). */
- RELOC_NUMBER (R_XGATE_RL_JUMP, 18)
-
- /* Mark beginning of Gcc relaxation group instruction. */
- RELOC_NUMBER (R_XGATE_RL_GROUP, 19)
-END_RELOC_NUMBERS (R_XGATE_max)
-
-/* Processor specific flags for the ELF header e_flags field. */
-
-/* ABI identification. */
-#define EF_XGATE_ABI 0x00000000F
-
-/* Integers are 32-bit long. */
-#define E_XGATE_I32 0x000000001
-
-/* Doubles are 64-bit long. */
-#define E_XGATE_F64 0x000000002
-
-#define EF_XGATE_MACH_MASK 0xF0
-
-#define EF_XGATE_MACH 0x80 /* XGATE microcontroller. */
-
-#define E_M68HCS12X_GLOBAL 0x100
-
-/* Identify interrupt handlers. This is used by the debugger to
- correctly compute the stack frame. */
-#define STO_XGATE_INTERRUPT 0x40
-
-#endif
diff --git a/include/filenames.h b/include/filenames.h
index e799a51b6..75ec3302d 100644
--- a/include/filenames.h
+++ b/include/filenames.h
@@ -26,8 +26,6 @@ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
#ifndef FILENAMES_H
#define FILENAMES_H
-#include "hashtab.h" /* for hashval_t */
-
#ifdef __cplusplus
extern "C" {
#endif
@@ -86,10 +84,6 @@ extern int filename_cmp (const char *s1, const char *s2);
extern int filename_ncmp (const char *s1, const char *s2,
size_t n);
-extern hashval_t filename_hash (const void *s);
-
-extern int filename_eq (const void *s1, const void *s2);
-
#ifdef __cplusplus
}
#endif
diff --git a/include/gdb/ChangeLog b/include/gdb/ChangeLog
index 833f913ff..a2ab59f0f 100644
--- a/include/gdb/ChangeLog
+++ b/include/gdb/ChangeLog
@@ -1,23 +1,3 @@
-2012-06-23 Doug Evans <dje@google.com>
-
- * gdb-index.h: New file.
-
-2012-05-24 Pedro Alves <palves@redhat.com>
-
- PR gdb/7205
-
- Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
-
-2012-05-24 Pedro Alves <palves@redhat.com>
-
- PR gdb/7205
-
- Replace target_signal with gdb_signal throughout.
-
-2012-04-12 Mike Frysinger <vapier@gentoo.org>
-
- * callback.h (CB_SYS_argc, CB_SYS_argnlen, CB_SYS_argn): Define.
-
2012-02-03 Kevin Buettner <kevinb@redhat.com>
* sim-rl78.h: New file.
diff --git a/include/gdb/callback.h b/include/gdb/callback.h
index d8d14727d..9b6cf8539 100644
--- a/include/gdb/callback.h
+++ b/include/gdb/callback.h
@@ -231,11 +231,6 @@ extern host_callback default_callback;
#define CB_SYS_truncate 21
#define CB_SYS_ftruncate 22
#define CB_SYS_pipe 23
-
-/* New ARGV support. */
-#define CB_SYS_argc 24
-#define CB_SYS_argnlen 25
-#define CB_SYS_argn 26
/* Struct use to pass and return information necessary to perform a
system call. */
@@ -314,7 +309,7 @@ int cb_target_to_host_open (host_callback *, int);
int cb_target_to_host_signal (host_callback *, int);
/* Translate host signal number to target. */
-int cb_host_to_gdb_signal (host_callback *, int);
+int cb_host_to_target_signal (host_callback *, int);
/* Translate host stat struct to target.
If stat struct ptr is NULL, just compute target stat struct size.
diff --git a/include/gdb/gdb-index.h b/include/gdb/gdb-index.h
deleted file mode 100644
index 92c3398b9..000000000
--- a/include/gdb/gdb-index.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/* Public attributes of the .gdb_index section.
- Copyright 2012 Free Software Foundation, Inc.
-
- This file is part of GDB.
-
- 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 3 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, see <http://www.gnu.org/licenses/>. */
-
-/* This file contains values for understanding the .gdb_index section
- needed by more than just GDB, e.g. readelf. */
-
-#ifndef GDB_INDEX_H
-#define GDB_INDEX_H
-
-/* Each symbol in .gdb_index refers to a set of CUs that defines the symbol.
- Each CU is represented by a 32 bit number that is the index of the CU in
- the CU table, plus some attributes of the use of the symbol in that CU.
-
- The values are defined such that if all the bits are zero, then no
- special meaning is assigned to any of them. This is done to preserve
- compatibility with older indices. The way this is done is to specify
- that if the GDB_INDEX_SYMBOL_KIND value is zero then all other attribute
- bits must be zero.
-
- 0-23 CU index
- 24-27 reserved
- 28-30 symbol kind
- 31 0 == global, 1 == static
-
- Bits 24-27 are reserved because it's easier to relax restrictions than
- it is to impose them after the fact. At present 24 bits to represent
- the CU index is plenty. If we need more bits for the CU index or for
- attributes then we have them. */
-
-/* Whether the symbol is in GLOBAL_BLOCK (== 0) or STATIC_BLOCK (== 1). */
-#define GDB_INDEX_SYMBOL_STATIC_SHIFT 31
-#define GDB_INDEX_SYMBOL_STATIC_MASK 1
-#define GDB_INDEX_SYMBOL_STATIC_VALUE(cu_index) \
- (((cu_index) >> GDB_INDEX_SYMBOL_STATIC_SHIFT) & GDB_INDEX_SYMBOL_STATIC_MASK)
-#define GDB_INDEX_SYMBOL_STATIC_SET_VALUE(cu_index, value) \
- do { \
- (cu_index) |= (((value) & GDB_INDEX_SYMBOL_STATIC_MASK) \
- << GDB_INDEX_SYMBOL_STATIC_SHIFT); \
- } while (0)
-
-/* The kind of the symbol.
- We don't use GDB's internal values as these numbers are published
- so that other tools can build and read .gdb_index. */
-
-typedef enum {
- /* Special value to indicate no attributes are present. */
- GDB_INDEX_SYMBOL_KIND_NONE = 0,
- GDB_INDEX_SYMBOL_KIND_TYPE = 1,
- GDB_INDEX_SYMBOL_KIND_VARIABLE = 2,
- GDB_INDEX_SYMBOL_KIND_FUNCTION = 3,
- GDB_INDEX_SYMBOL_KIND_OTHER = 4,
- /* We currently allocate 3 bits to record the symbol kind.
- Give the unused bits a value so gdb will print them sensibly. */
- GDB_INDEX_SYMBOL_KIND_UNUSED5 = 5,
- GDB_INDEX_SYMBOL_KIND_UNUSED6 = 6,
- GDB_INDEX_SYMBOL_KIND_UNUSED7 = 7,
-} gdb_index_symbol_kind;
-
-#define GDB_INDEX_SYMBOL_KIND_SHIFT 28
-#define GDB_INDEX_SYMBOL_KIND_MASK 7
-#define GDB_INDEX_SYMBOL_KIND_VALUE(cu_index) \
- ((gdb_index_symbol_kind) (((cu_index) >> GDB_INDEX_SYMBOL_KIND_SHIFT) \
- & GDB_INDEX_SYMBOL_KIND_MASK))
-#define GDB_INDEX_SYMBOL_KIND_SET_VALUE(cu_index, value) \
- do { \
- (cu_index) |= (((value) & GDB_INDEX_SYMBOL_KIND_MASK) \
- << GDB_INDEX_SYMBOL_KIND_SHIFT); \
- } while (0)
-
-#define GDB_INDEX_RESERVED_SHIFT 24
-#define GDB_INDEX_RESERVED_MASK 15
-#define GDB_INDEX_RESERVED_VALUE(cu_index) \
- (((cu_index) >> GDB_INDEX_RESERVED_SHIFT) & GDB_INDEX_RESERVED_MASK)
-
-/* CU index. */
-#define GDB_INDEX_CU_BITSIZE 24
-#define GDB_INDEX_CU_MASK ((1 << GDB_INDEX_CU_BITSIZE) - 1)
-#define GDB_INDEX_CU_VALUE(cu_index) ((cu_index) & GDB_INDEX_CU_MASK)
-#define GDB_INDEX_CU_SET_VALUE(cu_index, value) \
- do { \
- (cu_index) |= (value) & GDB_INDEX_CU_MASK; \
- } while (0)
-
-#endif /* GDB_INDEX_H */
diff --git a/include/gdb/signals.def b/include/gdb/signals.def
index ef4c8d4ee..c01895ae5 100644
--- a/include/gdb/signals.def
+++ b/include/gdb/signals.def
@@ -18,173 +18,173 @@
/* Used some places (e.g. stop_signal) to record the concept that
there is no signal. */
-SET (GDB_SIGNAL_0, 0, "0", "Signal 0")
-#define GDB_SIGNAL_FIRST GDB_SIGNAL_0
-SET (GDB_SIGNAL_HUP, 1, "SIGHUP", "Hangup")
-SET (GDB_SIGNAL_INT, 2, "SIGINT", "Interrupt")
-SET (GDB_SIGNAL_QUIT, 3, "SIGQUIT", "Quit")
-SET (GDB_SIGNAL_ILL, 4, "SIGILL", "Illegal instruction")
-SET (GDB_SIGNAL_TRAP, 5, "SIGTRAP", "Trace/breakpoint trap")
-SET (GDB_SIGNAL_ABRT, 6, "SIGABRT", "Aborted")
-SET (GDB_SIGNAL_EMT, 7, "SIGEMT", "Emulation trap")
-SET (GDB_SIGNAL_FPE, 8, "SIGFPE", "Arithmetic exception")
-SET (GDB_SIGNAL_KILL, 9, "SIGKILL", "Killed")
-SET (GDB_SIGNAL_BUS, 10, "SIGBUS", "Bus error")
-SET (GDB_SIGNAL_SEGV, 11, "SIGSEGV", "Segmentation fault")
-SET (GDB_SIGNAL_SYS, 12, "SIGSYS", "Bad system call")
-SET (GDB_SIGNAL_PIPE, 13, "SIGPIPE", "Broken pipe")
-SET (GDB_SIGNAL_ALRM, 14, "SIGALRM", "Alarm clock")
-SET (GDB_SIGNAL_TERM, 15, "SIGTERM", "Terminated")
-SET (GDB_SIGNAL_URG, 16, "SIGURG", "Urgent I/O condition")
-SET (GDB_SIGNAL_STOP, 17, "SIGSTOP", "Stopped (signal)")
-SET (GDB_SIGNAL_TSTP, 18, "SIGTSTP", "Stopped (user)")
-SET (GDB_SIGNAL_CONT, 19, "SIGCONT", "Continued")
-SET (GDB_SIGNAL_CHLD, 20, "SIGCHLD", "Child status changed")
-SET (GDB_SIGNAL_TTIN, 21, "SIGTTIN", "Stopped (tty input)")
-SET (GDB_SIGNAL_TTOU, 22, "SIGTTOU", "Stopped (tty output)")
-SET (GDB_SIGNAL_IO, 23, "SIGIO", "I/O possible")
-SET (GDB_SIGNAL_XCPU, 24, "SIGXCPU", "CPU time limit exceeded")
-SET (GDB_SIGNAL_XFSZ, 25, "SIGXFSZ", "File size limit exceeded")
-SET (GDB_SIGNAL_VTALRM, 26, "SIGVTALRM", "Virtual timer expired")
-SET (GDB_SIGNAL_PROF, 27, "SIGPROF", "Profiling timer expired")
-SET (GDB_SIGNAL_WINCH, 28, "SIGWINCH", "Window size changed")
-SET (GDB_SIGNAL_LOST, 29, "SIGLOST", "Resource lost")
-SET (GDB_SIGNAL_USR1, 30, "SIGUSR1", "User defined signal 1")
-SET (GDB_SIGNAL_USR2, 31, "SIGUSR2", "User defined signal 2")
-SET (GDB_SIGNAL_PWR, 32, "SIGPWR", "Power fail/restart")
+SET (TARGET_SIGNAL_0, 0, "0", "Signal 0")
+#define TARGET_SIGNAL_FIRST TARGET_SIGNAL_0
+SET (TARGET_SIGNAL_HUP, 1, "SIGHUP", "Hangup")
+SET (TARGET_SIGNAL_INT, 2, "SIGINT", "Interrupt")
+SET (TARGET_SIGNAL_QUIT, 3, "SIGQUIT", "Quit")
+SET (TARGET_SIGNAL_ILL, 4, "SIGILL", "Illegal instruction")
+SET (TARGET_SIGNAL_TRAP, 5, "SIGTRAP", "Trace/breakpoint trap")
+SET (TARGET_SIGNAL_ABRT, 6, "SIGABRT", "Aborted")
+SET (TARGET_SIGNAL_EMT, 7, "SIGEMT", "Emulation trap")
+SET (TARGET_SIGNAL_FPE, 8, "SIGFPE", "Arithmetic exception")
+SET (TARGET_SIGNAL_KILL, 9, "SIGKILL", "Killed")
+SET (TARGET_SIGNAL_BUS, 10, "SIGBUS", "Bus error")
+SET (TARGET_SIGNAL_SEGV, 11, "SIGSEGV", "Segmentation fault")
+SET (TARGET_SIGNAL_SYS, 12, "SIGSYS", "Bad system call")
+SET (TARGET_SIGNAL_PIPE, 13, "SIGPIPE", "Broken pipe")
+SET (TARGET_SIGNAL_ALRM, 14, "SIGALRM", "Alarm clock")
+SET (TARGET_SIGNAL_TERM, 15, "SIGTERM", "Terminated")
+SET (TARGET_SIGNAL_URG, 16, "SIGURG", "Urgent I/O condition")
+SET (TARGET_SIGNAL_STOP, 17, "SIGSTOP", "Stopped (signal)")
+SET (TARGET_SIGNAL_TSTP, 18, "SIGTSTP", "Stopped (user)")
+SET (TARGET_SIGNAL_CONT, 19, "SIGCONT", "Continued")
+SET (TARGET_SIGNAL_CHLD, 20, "SIGCHLD", "Child status changed")
+SET (TARGET_SIGNAL_TTIN, 21, "SIGTTIN", "Stopped (tty input)")
+SET (TARGET_SIGNAL_TTOU, 22, "SIGTTOU", "Stopped (tty output)")
+SET (TARGET_SIGNAL_IO, 23, "SIGIO", "I/O possible")
+SET (TARGET_SIGNAL_XCPU, 24, "SIGXCPU", "CPU time limit exceeded")
+SET (TARGET_SIGNAL_XFSZ, 25, "SIGXFSZ", "File size limit exceeded")
+SET (TARGET_SIGNAL_VTALRM, 26, "SIGVTALRM", "Virtual timer expired")
+SET (TARGET_SIGNAL_PROF, 27, "SIGPROF", "Profiling timer expired")
+SET (TARGET_SIGNAL_WINCH, 28, "SIGWINCH", "Window size changed")
+SET (TARGET_SIGNAL_LOST, 29, "SIGLOST", "Resource lost")
+SET (TARGET_SIGNAL_USR1, 30, "SIGUSR1", "User defined signal 1")
+SET (TARGET_SIGNAL_USR2, 31, "SIGUSR2", "User defined signal 2")
+SET (TARGET_SIGNAL_PWR, 32, "SIGPWR", "Power fail/restart")
/* Similar to SIGIO. Perhaps they should have the same number. */
-SET (GDB_SIGNAL_POLL, 33, "SIGPOLL", "Pollable event occurred")
-SET (GDB_SIGNAL_WIND, 34, "SIGWIND", "SIGWIND")
-SET (GDB_SIGNAL_PHONE, 35, "SIGPHONE", "SIGPHONE")
-SET (GDB_SIGNAL_WAITING, 36, "SIGWAITING", "Process's LWPs are blocked")
-SET (GDB_SIGNAL_LWP, 37, "SIGLWP", "Signal LWP")
-SET (GDB_SIGNAL_DANGER, 38, "SIGDANGER", "Swap space dangerously low")
-SET (GDB_SIGNAL_GRANT, 39, "SIGGRANT", "Monitor mode granted")
-SET (GDB_SIGNAL_RETRACT, 40, "SIGRETRACT",
+SET (TARGET_SIGNAL_POLL, 33, "SIGPOLL", "Pollable event occurred")
+SET (TARGET_SIGNAL_WIND, 34, "SIGWIND", "SIGWIND")
+SET (TARGET_SIGNAL_PHONE, 35, "SIGPHONE", "SIGPHONE")
+SET (TARGET_SIGNAL_WAITING, 36, "SIGWAITING", "Process's LWPs are blocked")
+SET (TARGET_SIGNAL_LWP, 37, "SIGLWP", "Signal LWP")
+SET (TARGET_SIGNAL_DANGER, 38, "SIGDANGER", "Swap space dangerously low")
+SET (TARGET_SIGNAL_GRANT, 39, "SIGGRANT", "Monitor mode granted")
+SET (TARGET_SIGNAL_RETRACT, 40, "SIGRETRACT",
"Need to relinquish monitor mode")
-SET (GDB_SIGNAL_MSG, 41, "SIGMSG", "Monitor mode data available")
-SET (GDB_SIGNAL_SOUND, 42, "SIGSOUND", "Sound completed")
-SET (GDB_SIGNAL_SAK, 43, "SIGSAK", "Secure attention")
-SET (GDB_SIGNAL_PRIO, 44, "SIGPRIO", "SIGPRIO")
-SET (GDB_SIGNAL_REALTIME_33, 45, "SIG33", "Real-time event 33")
-SET (GDB_SIGNAL_REALTIME_34, 46, "SIG34", "Real-time event 34")
-SET (GDB_SIGNAL_REALTIME_35, 47, "SIG35", "Real-time event 35")
-SET (GDB_SIGNAL_REALTIME_36, 48, "SIG36", "Real-time event 36")
-SET (GDB_SIGNAL_REALTIME_37, 49, "SIG37", "Real-time event 37")
-SET (GDB_SIGNAL_REALTIME_38, 50, "SIG38", "Real-time event 38")
-SET (GDB_SIGNAL_REALTIME_39, 51, "SIG39", "Real-time event 39")
-SET (GDB_SIGNAL_REALTIME_40, 52, "SIG40", "Real-time event 40")
-SET (GDB_SIGNAL_REALTIME_41, 53, "SIG41", "Real-time event 41")
-SET (GDB_SIGNAL_REALTIME_42, 54, "SIG42", "Real-time event 42")
-SET (GDB_SIGNAL_REALTIME_43, 55, "SIG43", "Real-time event 43")
-SET (GDB_SIGNAL_REALTIME_44, 56, "SIG44", "Real-time event 44")
-SET (GDB_SIGNAL_REALTIME_45, 57, "SIG45", "Real-time event 45")
-SET (GDB_SIGNAL_REALTIME_46, 58, "SIG46", "Real-time event 46")
-SET (GDB_SIGNAL_REALTIME_47, 59, "SIG47", "Real-time event 47")
-SET (GDB_SIGNAL_REALTIME_48, 60, "SIG48", "Real-time event 48")
-SET (GDB_SIGNAL_REALTIME_49, 61, "SIG49", "Real-time event 49")
-SET (GDB_SIGNAL_REALTIME_50, 62, "SIG50", "Real-time event 50")
-SET (GDB_SIGNAL_REALTIME_51, 63, "SIG51", "Real-time event 51")
-SET (GDB_SIGNAL_REALTIME_52, 64, "SIG52", "Real-time event 52")
-SET (GDB_SIGNAL_REALTIME_53, 65, "SIG53", "Real-time event 53")
-SET (GDB_SIGNAL_REALTIME_54, 66, "SIG54", "Real-time event 54")
-SET (GDB_SIGNAL_REALTIME_55, 67, "SIG55", "Real-time event 55")
-SET (GDB_SIGNAL_REALTIME_56, 68, "SIG56", "Real-time event 56")
-SET (GDB_SIGNAL_REALTIME_57, 69, "SIG57", "Real-time event 57")
-SET (GDB_SIGNAL_REALTIME_58, 70, "SIG58", "Real-time event 58")
-SET (GDB_SIGNAL_REALTIME_59, 71, "SIG59", "Real-time event 59")
-SET (GDB_SIGNAL_REALTIME_60, 72, "SIG60", "Real-time event 60")
-SET (GDB_SIGNAL_REALTIME_61, 73, "SIG61", "Real-time event 61")
-SET (GDB_SIGNAL_REALTIME_62, 74, "SIG62", "Real-time event 62")
-SET (GDB_SIGNAL_REALTIME_63, 75, "SIG63", "Real-time event 63")
+SET (TARGET_SIGNAL_MSG, 41, "SIGMSG", "Monitor mode data available")
+SET (TARGET_SIGNAL_SOUND, 42, "SIGSOUND", "Sound completed")
+SET (TARGET_SIGNAL_SAK, 43, "SIGSAK", "Secure attention")
+SET (TARGET_SIGNAL_PRIO, 44, "SIGPRIO", "SIGPRIO")
+SET (TARGET_SIGNAL_REALTIME_33, 45, "SIG33", "Real-time event 33")
+SET (TARGET_SIGNAL_REALTIME_34, 46, "SIG34", "Real-time event 34")
+SET (TARGET_SIGNAL_REALTIME_35, 47, "SIG35", "Real-time event 35")
+SET (TARGET_SIGNAL_REALTIME_36, 48, "SIG36", "Real-time event 36")
+SET (TARGET_SIGNAL_REALTIME_37, 49, "SIG37", "Real-time event 37")
+SET (TARGET_SIGNAL_REALTIME_38, 50, "SIG38", "Real-time event 38")
+SET (TARGET_SIGNAL_REALTIME_39, 51, "SIG39", "Real-time event 39")
+SET (TARGET_SIGNAL_REALTIME_40, 52, "SIG40", "Real-time event 40")
+SET (TARGET_SIGNAL_REALTIME_41, 53, "SIG41", "Real-time event 41")
+SET (TARGET_SIGNAL_REALTIME_42, 54, "SIG42", "Real-time event 42")
+SET (TARGET_SIGNAL_REALTIME_43, 55, "SIG43", "Real-time event 43")
+SET (TARGET_SIGNAL_REALTIME_44, 56, "SIG44", "Real-time event 44")
+SET (TARGET_SIGNAL_REALTIME_45, 57, "SIG45", "Real-time event 45")
+SET (TARGET_SIGNAL_REALTIME_46, 58, "SIG46", "Real-time event 46")
+SET (TARGET_SIGNAL_REALTIME_47, 59, "SIG47", "Real-time event 47")
+SET (TARGET_SIGNAL_REALTIME_48, 60, "SIG48", "Real-time event 48")
+SET (TARGET_SIGNAL_REALTIME_49, 61, "SIG49", "Real-time event 49")
+SET (TARGET_SIGNAL_REALTIME_50, 62, "SIG50", "Real-time event 50")
+SET (TARGET_SIGNAL_REALTIME_51, 63, "SIG51", "Real-time event 51")
+SET (TARGET_SIGNAL_REALTIME_52, 64, "SIG52", "Real-time event 52")
+SET (TARGET_SIGNAL_REALTIME_53, 65, "SIG53", "Real-time event 53")
+SET (TARGET_SIGNAL_REALTIME_54, 66, "SIG54", "Real-time event 54")
+SET (TARGET_SIGNAL_REALTIME_55, 67, "SIG55", "Real-time event 55")
+SET (TARGET_SIGNAL_REALTIME_56, 68, "SIG56", "Real-time event 56")
+SET (TARGET_SIGNAL_REALTIME_57, 69, "SIG57", "Real-time event 57")
+SET (TARGET_SIGNAL_REALTIME_58, 70, "SIG58", "Real-time event 58")
+SET (TARGET_SIGNAL_REALTIME_59, 71, "SIG59", "Real-time event 59")
+SET (TARGET_SIGNAL_REALTIME_60, 72, "SIG60", "Real-time event 60")
+SET (TARGET_SIGNAL_REALTIME_61, 73, "SIG61", "Real-time event 61")
+SET (TARGET_SIGNAL_REALTIME_62, 74, "SIG62", "Real-time event 62")
+SET (TARGET_SIGNAL_REALTIME_63, 75, "SIG63", "Real-time event 63")
/* Used internally by Solaris threads. See signal(5) on Solaris. */
-SET (GDB_SIGNAL_CANCEL, 76, "SIGCANCEL", "LWP internal signal")
+SET (TARGET_SIGNAL_CANCEL, 76, "SIGCANCEL", "LWP internal signal")
/* Yes, this pains me, too. But LynxOS didn't have SIG32, and now
GNU/Linux does, and we can't disturb the numbering, since it's
part of the remote protocol. Note that in some GDB's
- GDB_SIGNAL_REALTIME_32 is number 76. */
-SET (GDB_SIGNAL_REALTIME_32, 77, "SIG32", "Real-time event 32")
+ TARGET_SIGNAL_REALTIME_32 is number 76. */
+SET (TARGET_SIGNAL_REALTIME_32, 77, "SIG32", "Real-time event 32")
/* Yet another pain, IRIX 6 has SIG64. */
-SET (GDB_SIGNAL_REALTIME_64, 78, "SIG64", "Real-time event 64")
+SET (TARGET_SIGNAL_REALTIME_64, 78, "SIG64", "Real-time event 64")
/* Yet another pain, GNU/Linux MIPS might go up to 128. */
-SET (GDB_SIGNAL_REALTIME_65, 79, "SIG65", "Real-time event 65")
-SET (GDB_SIGNAL_REALTIME_66, 80, "SIG66", "Real-time event 66")
-SET (GDB_SIGNAL_REALTIME_67, 81, "SIG67", "Real-time event 67")
-SET (GDB_SIGNAL_REALTIME_68, 82, "SIG68", "Real-time event 68")
-SET (GDB_SIGNAL_REALTIME_69, 83, "SIG69", "Real-time event 69")
-SET (GDB_SIGNAL_REALTIME_70, 84, "SIG70", "Real-time event 70")
-SET (GDB_SIGNAL_REALTIME_71, 85, "SIG71", "Real-time event 71")
-SET (GDB_SIGNAL_REALTIME_72, 86, "SIG72", "Real-time event 72")
-SET (GDB_SIGNAL_REALTIME_73, 87, "SIG73", "Real-time event 73")
-SET (GDB_SIGNAL_REALTIME_74, 88, "SIG74", "Real-time event 74")
-SET (GDB_SIGNAL_REALTIME_75, 89, "SIG75", "Real-time event 75")
-SET (GDB_SIGNAL_REALTIME_76, 90, "SIG76", "Real-time event 76")
-SET (GDB_SIGNAL_REALTIME_77, 91, "SIG77", "Real-time event 77")
-SET (GDB_SIGNAL_REALTIME_78, 92, "SIG78", "Real-time event 78")
-SET (GDB_SIGNAL_REALTIME_79, 93, "SIG79", "Real-time event 79")
-SET (GDB_SIGNAL_REALTIME_80, 94, "SIG80", "Real-time event 80")
-SET (GDB_SIGNAL_REALTIME_81, 95, "SIG81", "Real-time event 81")
-SET (GDB_SIGNAL_REALTIME_82, 96, "SIG82", "Real-time event 82")
-SET (GDB_SIGNAL_REALTIME_83, 97, "SIG83", "Real-time event 83")
-SET (GDB_SIGNAL_REALTIME_84, 98, "SIG84", "Real-time event 84")
-SET (GDB_SIGNAL_REALTIME_85, 99, "SIG85", "Real-time event 85")
-SET (GDB_SIGNAL_REALTIME_86, 100, "SIG86", "Real-time event 86")
-SET (GDB_SIGNAL_REALTIME_87, 101, "SIG87", "Real-time event 87")
-SET (GDB_SIGNAL_REALTIME_88, 102, "SIG88", "Real-time event 88")
-SET (GDB_SIGNAL_REALTIME_89, 103, "SIG89", "Real-time event 89")
-SET (GDB_SIGNAL_REALTIME_90, 104, "SIG90", "Real-time event 90")
-SET (GDB_SIGNAL_REALTIME_91, 105, "SIG91", "Real-time event 91")
-SET (GDB_SIGNAL_REALTIME_92, 106, "SIG92", "Real-time event 92")
-SET (GDB_SIGNAL_REALTIME_93, 107, "SIG93", "Real-time event 93")
-SET (GDB_SIGNAL_REALTIME_94, 108, "SIG94", "Real-time event 94")
-SET (GDB_SIGNAL_REALTIME_95, 109, "SIG95", "Real-time event 95")
-SET (GDB_SIGNAL_REALTIME_96, 110, "SIG96", "Real-time event 96")
-SET (GDB_SIGNAL_REALTIME_97, 111, "SIG97", "Real-time event 97")
-SET (GDB_SIGNAL_REALTIME_98, 112, "SIG98", "Real-time event 98")
-SET (GDB_SIGNAL_REALTIME_99, 113, "SIG99", "Real-time event 99")
-SET (GDB_SIGNAL_REALTIME_100, 114, "SIG100", "Real-time event 100")
-SET (GDB_SIGNAL_REALTIME_101, 115, "SIG101", "Real-time event 101")
-SET (GDB_SIGNAL_REALTIME_102, 116, "SIG102", "Real-time event 102")
-SET (GDB_SIGNAL_REALTIME_103, 117, "SIG103", "Real-time event 103")
-SET (GDB_SIGNAL_REALTIME_104, 118, "SIG104", "Real-time event 104")
-SET (GDB_SIGNAL_REALTIME_105, 119, "SIG105", "Real-time event 105")
-SET (GDB_SIGNAL_REALTIME_106, 120, "SIG106", "Real-time event 106")
-SET (GDB_SIGNAL_REALTIME_107, 121, "SIG107", "Real-time event 107")
-SET (GDB_SIGNAL_REALTIME_108, 122, "SIG108", "Real-time event 108")
-SET (GDB_SIGNAL_REALTIME_109, 123, "SIG109", "Real-time event 109")
-SET (GDB_SIGNAL_REALTIME_110, 124, "SIG110", "Real-time event 110")
-SET (GDB_SIGNAL_REALTIME_111, 125, "SIG111", "Real-time event 111")
-SET (GDB_SIGNAL_REALTIME_112, 126, "SIG112", "Real-time event 112")
-SET (GDB_SIGNAL_REALTIME_113, 127, "SIG113", "Real-time event 113")
-SET (GDB_SIGNAL_REALTIME_114, 128, "SIG114", "Real-time event 114")
-SET (GDB_SIGNAL_REALTIME_115, 129, "SIG115", "Real-time event 115")
-SET (GDB_SIGNAL_REALTIME_116, 130, "SIG116", "Real-time event 116")
-SET (GDB_SIGNAL_REALTIME_117, 131, "SIG117", "Real-time event 117")
-SET (GDB_SIGNAL_REALTIME_118, 132, "SIG118", "Real-time event 118")
-SET (GDB_SIGNAL_REALTIME_119, 133, "SIG119", "Real-time event 119")
-SET (GDB_SIGNAL_REALTIME_120, 134, "SIG120", "Real-time event 120")
-SET (GDB_SIGNAL_REALTIME_121, 135, "SIG121", "Real-time event 121")
-SET (GDB_SIGNAL_REALTIME_122, 136, "SIG122", "Real-time event 122")
-SET (GDB_SIGNAL_REALTIME_123, 137, "SIG123", "Real-time event 123")
-SET (GDB_SIGNAL_REALTIME_124, 138, "SIG124", "Real-time event 124")
-SET (GDB_SIGNAL_REALTIME_125, 139, "SIG125", "Real-time event 125")
-SET (GDB_SIGNAL_REALTIME_126, 140, "SIG126", "Real-time event 126")
-SET (GDB_SIGNAL_REALTIME_127, 141, "SIG127", "Real-time event 127")
+SET (TARGET_SIGNAL_REALTIME_65, 79, "SIG65", "Real-time event 65")
+SET (TARGET_SIGNAL_REALTIME_66, 80, "SIG66", "Real-time event 66")
+SET (TARGET_SIGNAL_REALTIME_67, 81, "SIG67", "Real-time event 67")
+SET (TARGET_SIGNAL_REALTIME_68, 82, "SIG68", "Real-time event 68")
+SET (TARGET_SIGNAL_REALTIME_69, 83, "SIG69", "Real-time event 69")
+SET (TARGET_SIGNAL_REALTIME_70, 84, "SIG70", "Real-time event 70")
+SET (TARGET_SIGNAL_REALTIME_71, 85, "SIG71", "Real-time event 71")
+SET (TARGET_SIGNAL_REALTIME_72, 86, "SIG72", "Real-time event 72")
+SET (TARGET_SIGNAL_REALTIME_73, 87, "SIG73", "Real-time event 73")
+SET (TARGET_SIGNAL_REALTIME_74, 88, "SIG74", "Real-time event 74")
+SET (TARGET_SIGNAL_REALTIME_75, 89, "SIG75", "Real-time event 75")
+SET (TARGET_SIGNAL_REALTIME_76, 90, "SIG76", "Real-time event 76")
+SET (TARGET_SIGNAL_REALTIME_77, 91, "SIG77", "Real-time event 77")
+SET (TARGET_SIGNAL_REALTIME_78, 92, "SIG78", "Real-time event 78")
+SET (TARGET_SIGNAL_REALTIME_79, 93, "SIG79", "Real-time event 79")
+SET (TARGET_SIGNAL_REALTIME_80, 94, "SIG80", "Real-time event 80")
+SET (TARGET_SIGNAL_REALTIME_81, 95, "SIG81", "Real-time event 81")
+SET (TARGET_SIGNAL_REALTIME_82, 96, "SIG82", "Real-time event 82")
+SET (TARGET_SIGNAL_REALTIME_83, 97, "SIG83", "Real-time event 83")
+SET (TARGET_SIGNAL_REALTIME_84, 98, "SIG84", "Real-time event 84")
+SET (TARGET_SIGNAL_REALTIME_85, 99, "SIG85", "Real-time event 85")
+SET (TARGET_SIGNAL_REALTIME_86, 100, "SIG86", "Real-time event 86")
+SET (TARGET_SIGNAL_REALTIME_87, 101, "SIG87", "Real-time event 87")
+SET (TARGET_SIGNAL_REALTIME_88, 102, "SIG88", "Real-time event 88")
+SET (TARGET_SIGNAL_REALTIME_89, 103, "SIG89", "Real-time event 89")
+SET (TARGET_SIGNAL_REALTIME_90, 104, "SIG90", "Real-time event 90")
+SET (TARGET_SIGNAL_REALTIME_91, 105, "SIG91", "Real-time event 91")
+SET (TARGET_SIGNAL_REALTIME_92, 106, "SIG92", "Real-time event 92")
+SET (TARGET_SIGNAL_REALTIME_93, 107, "SIG93", "Real-time event 93")
+SET (TARGET_SIGNAL_REALTIME_94, 108, "SIG94", "Real-time event 94")
+SET (TARGET_SIGNAL_REALTIME_95, 109, "SIG95", "Real-time event 95")
+SET (TARGET_SIGNAL_REALTIME_96, 110, "SIG96", "Real-time event 96")
+SET (TARGET_SIGNAL_REALTIME_97, 111, "SIG97", "Real-time event 97")
+SET (TARGET_SIGNAL_REALTIME_98, 112, "SIG98", "Real-time event 98")
+SET (TARGET_SIGNAL_REALTIME_99, 113, "SIG99", "Real-time event 99")
+SET (TARGET_SIGNAL_REALTIME_100, 114, "SIG100", "Real-time event 100")
+SET (TARGET_SIGNAL_REALTIME_101, 115, "SIG101", "Real-time event 101")
+SET (TARGET_SIGNAL_REALTIME_102, 116, "SIG102", "Real-time event 102")
+SET (TARGET_SIGNAL_REALTIME_103, 117, "SIG103", "Real-time event 103")
+SET (TARGET_SIGNAL_REALTIME_104, 118, "SIG104", "Real-time event 104")
+SET (TARGET_SIGNAL_REALTIME_105, 119, "SIG105", "Real-time event 105")
+SET (TARGET_SIGNAL_REALTIME_106, 120, "SIG106", "Real-time event 106")
+SET (TARGET_SIGNAL_REALTIME_107, 121, "SIG107", "Real-time event 107")
+SET (TARGET_SIGNAL_REALTIME_108, 122, "SIG108", "Real-time event 108")
+SET (TARGET_SIGNAL_REALTIME_109, 123, "SIG109", "Real-time event 109")
+SET (TARGET_SIGNAL_REALTIME_110, 124, "SIG110", "Real-time event 110")
+SET (TARGET_SIGNAL_REALTIME_111, 125, "SIG111", "Real-time event 111")
+SET (TARGET_SIGNAL_REALTIME_112, 126, "SIG112", "Real-time event 112")
+SET (TARGET_SIGNAL_REALTIME_113, 127, "SIG113", "Real-time event 113")
+SET (TARGET_SIGNAL_REALTIME_114, 128, "SIG114", "Real-time event 114")
+SET (TARGET_SIGNAL_REALTIME_115, 129, "SIG115", "Real-time event 115")
+SET (TARGET_SIGNAL_REALTIME_116, 130, "SIG116", "Real-time event 116")
+SET (TARGET_SIGNAL_REALTIME_117, 131, "SIG117", "Real-time event 117")
+SET (TARGET_SIGNAL_REALTIME_118, 132, "SIG118", "Real-time event 118")
+SET (TARGET_SIGNAL_REALTIME_119, 133, "SIG119", "Real-time event 119")
+SET (TARGET_SIGNAL_REALTIME_120, 134, "SIG120", "Real-time event 120")
+SET (TARGET_SIGNAL_REALTIME_121, 135, "SIG121", "Real-time event 121")
+SET (TARGET_SIGNAL_REALTIME_122, 136, "SIG122", "Real-time event 122")
+SET (TARGET_SIGNAL_REALTIME_123, 137, "SIG123", "Real-time event 123")
+SET (TARGET_SIGNAL_REALTIME_124, 138, "SIG124", "Real-time event 124")
+SET (TARGET_SIGNAL_REALTIME_125, 139, "SIG125", "Real-time event 125")
+SET (TARGET_SIGNAL_REALTIME_126, 140, "SIG126", "Real-time event 126")
+SET (TARGET_SIGNAL_REALTIME_127, 141, "SIG127", "Real-time event 127")
-SET (GDB_SIGNAL_INFO, 142, "SIGINFO", "Information request")
+SET (TARGET_SIGNAL_INFO, 142, "SIGINFO", "Information request")
/* Some signal we don't know about. */
-SET (GDB_SIGNAL_UNKNOWN, 143, NULL, "Unknown signal")
+SET (TARGET_SIGNAL_UNKNOWN, 143, NULL, "Unknown signal")
/* Use whatever signal we use when one is not specifically specified
(for passing to proceed and so on). */
-SET (GDB_SIGNAL_DEFAULT, 144, NULL,
- "Internal error: printing GDB_SIGNAL_DEFAULT")
+SET (TARGET_SIGNAL_DEFAULT, 144, NULL,
+ "Internal error: printing TARGET_SIGNAL_DEFAULT")
/* Mach exceptions. In versions of GDB before 5.2, these were just before
- GDB_SIGNAL_INFO if you were compiling on a Mach host (and missing
+ TARGET_SIGNAL_INFO if you were compiling on a Mach host (and missing
otherwise). */
SET (TARGET_EXC_BAD_ACCESS, 145, "EXC_BAD_ACCESS", "Could not access memory")
SET (TARGET_EXC_BAD_INSTRUCTION, 146, "EXC_BAD_INSTRUCTION",
@@ -197,4 +197,4 @@ SET (TARGET_EXC_BREAKPOINT, 150, "EXC_BREAKPOINT", "Breakpoint")
/* If you are adding a new signal, add it just above this comment. */
/* Last and unused enum value, for sizing arrays, etc. */
-SET (GDB_SIGNAL_LAST, 151, NULL, "GDB_SIGNAL_MAGIC")
+SET (TARGET_SIGNAL_LAST, 151, NULL, "TARGET_SIGNAL_MAGIC")
diff --git a/include/gdb/signals.h b/include/gdb/signals.h
index a59d3b5c6..67902c617 100644
--- a/include/gdb/signals.h
+++ b/include/gdb/signals.h
@@ -45,9 +45,9 @@
etc. are doing to address these issues. */
/* For an explanation of what each signal means, see
- gdb_signal_to_string. */
+ target_signal_to_string. */
-enum gdb_signal
+enum target_signal
{
#define SET(symbol, constant, name, string) \
symbol = constant,
diff --git a/include/leb128.h b/include/leb128.h
deleted file mode 100644
index f584f72e5..000000000
--- a/include/leb128.h
+++ /dev/null
@@ -1,136 +0,0 @@
-/* Utilities for reading leb128 values.
- Copyright (C) 2012 Free Software Foundation, Inc.
-
-This file is part of the libiberty library.
-Libiberty is free software; you can redistribute it and/or
-modify it under the terms of the GNU Library General Public
-License as published by the Free Software Foundation; either
-version 2 of the License, or (at your option) any later version.
-
-Libiberty 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
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with libiberty; see the file COPYING.LIB. If not, write
-to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
-Boston, MA 02110-1301, USA. */
-
-/* The functions defined here can be speed critical.
- Since they are all pretty small we keep things simple and just define
- them all as "static inline".
-
- WARNING: This file is used by GDB which is stuck at C90. :-(
- Though it can use stdint.h, inttypes.h.
- Therefore if you want to add support for "long long" you need
- to wrap it in #ifdef CC_HAS_LONG_LONG. */
-
-#ifndef LEB128_H
-#define LEB128_H
-
-/* Get a definition for inline. */
-#include "ansidecl.h"
-
-/* Get a definition for NULL, size_t. */
-#include <stddef.h>
-
-#ifdef HAVE_STDINT_H
-#include <stdint.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-
-/* Decode the unsigned LEB128 constant at BUF into the variable pointed to
- by R, and return the number of bytes read.
- If we read off the end of the buffer, zero is returned,
- and nothing is stored in R.
-
- Note: The result is an int instead of a pointer to the next byte to be
- read to avoid const-vs-non-const problems. */
-
-static inline size_t
-read_uleb128_to_uint64 (const unsigned char *buf, const unsigned char *buf_end,
- uint64_t *r)
-{
- const unsigned char *p = buf;
- unsigned int shift = 0;
- uint64_t result = 0;
- unsigned char byte;
-
- while (1)
- {
- if (p >= buf_end)
- return 0;
-
- byte = *p++;
- result |= ((uint64_t) (byte & 0x7f)) << shift;
- if ((byte & 0x80) == 0)
- break;
- shift += 7;
- }
-
- *r = result;
- return p - buf;
-}
-
-/* Decode the signed LEB128 constant at BUF into the variable pointed to
- by R, and return the number of bytes read.
- If we read off the end of the buffer, zero is returned,
- and nothing is stored in R.
-
- Note: The result is an int instead of a pointer to the next byte to be
- read to avoid const-vs-non-const problems. */
-
-static inline size_t
-read_sleb128_to_int64 (const unsigned char *buf, const unsigned char *buf_end,
- int64_t *r)
-{
- const unsigned char *p = buf;
- unsigned int shift = 0;
- int64_t result = 0;
- unsigned char byte;
-
- while (1)
- {
- if (p >= buf_end)
- return 0;
-
- byte = *p++;
- result |= ((uint64_t) (byte & 0x7f)) << shift;
- shift += 7;
- if ((byte & 0x80) == 0)
- break;
- }
- if (shift < (sizeof (*r) * 8) && (byte & 0x40) != 0)
- result |= -(((uint64_t) 1) << shift);
-
- *r = result;
- return p - buf;
-}
-
-/* Return the number of bytes to read to skip past an LEB128 number in BUF.
- If the end isn't found before reaching BUF_END, return zero.
-
- Note: The result is an int instead of a pointer to the next byte to be
- read to avoid const-vs-non-const problems. */
-
-static inline size_t
-skip_leb128 (const unsigned char *buf, const unsigned char *buf_end)
-{
- const unsigned char *p = buf;
- unsigned char byte;
-
- while (1)
- {
- if (p == buf_end)
- return 0;
-
- byte = *p++;
- if ((byte & 0x80) == 0)
- return p - buf;
- }
-}
-
-#endif /* LEB128_H */
diff --git a/include/mach-o/ChangeLog b/include/mach-o/ChangeLog
new file mode 100644
index 000000000..19eacd0c5
--- /dev/null
+++ b/include/mach-o/ChangeLog
@@ -0,0 +1,51 @@
+2012-02-23 Iain Sandoe <idsandoe@googlemail.com>
+
+ * external.h: Add comments about relocations fields. Add macros
+ for non-scattered relocations. Move scattered relocation macros to
+ here.
+ * reloc.h: Remove macros related to external representation of reloc
+ fields.
+
+2012-01-12 Iain Sandoe <idsandoe@googlemail.com>
+
+ * loader.h (BFD_MACH_O_INDIRECT_SYM_LOCAL): New.
+ (BFD_MACH_O_INDIRECT_SYM_ABS): New
+
+2012-01-04 Tristan Gingold <gingold@adacore.com>
+
+ * external.h (mach_o_fvmlib_command_external): New structure.
+
+2012-01-04 Tristan Gingold <gingold@adacore.com>
+
+ * loader.h: Update copyright year.
+ (bfd_mach_o_cpu_subtype): Add ARM subtypes.
+
+2012-01-04 Tristan Gingold <gingold@adacore.com>
+
+ * external.h: Update copyright year.
+ (mach_o_symtab_command_external): Add comments.
+ (mach_o_encryption_info_command_external): New structure.
+
+2011-12-16 Tristan Gingold <gingold@adacore.com>
+
+ * codesign.h: New file.
+
+2011-08-08 Tristan Gingold <gingold@adacore.com>
+
+ * loader.h (bfd_mach_o_load_command_type): Add
+ BFD_MACH_O_LC_LOAD_UPWARD_DYLIB, BFD_MACH_O_LC_VERSION_MIN_MACOSX,
+ BFD_MACH_O_LC_VERSION_MIN_IPHONEOS, BFD_MACH_O_LC_FUNCTION_STARTS,
+ and BFD_MACH_O_LC_DYLD_ENVIRONMENT.
+ * external.h (mach_o_version_min_command_external): New structure.
+
+2011-08-08 Tristan Gingold <gingold@adacore.com>
+
+ * loader.h: Reorder declarations.
+ * x86-64.h: New file.
+ * external.h: New file.
+ * reloc.h: New file.
+
+2011-07-06 Tristan Gingold <gingold@adacore.com>
+
+ * loader.h: New file.
+
diff --git a/include/mach-o/codesign.h b/include/mach-o/codesign.h
new file mode 100644
index 000000000..ee2f792ac
--- /dev/null
+++ b/include/mach-o/codesign.h
@@ -0,0 +1,85 @@
+/* Mach-O support for BFD.
+ Copyright 2011
+ Free Software Foundation, Inc.
+
+ This file is part of BFD, the Binary File Descriptor 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 3 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., 51 Franklin Street - Fifth Floor, Boston,
+ MA 02110-1301, USA. */
+
+#ifndef _MACH_O_CODESIGN_H
+#define _MACH_O_CODESIGN_H
+
+/* Codesign blob magics. */
+
+/* Superblob containing all the components. */
+#define BFD_MACH_O_CS_MAGIC_EMBEDDED_SIGNATURE 0xfade0cc0
+
+/* Individual code requirement. */
+#define BFD_MACH_O_CS_MAGIC_REQUIREMENT 0xfade0c00
+
+/* Collection of code requirements, indexed by type. */
+#define BFD_MACH_O_CS_MAGIC_REQUIREMENTS 0xfade0c01
+
+/* Directory. */
+#define BFD_MACH_O_CS_MAGIC_CODEDIRECTORY 0xfade0c02
+
+/* Entitlements blob. */
+#define BFD_MACH_O_CS_MAGIC_EMBEDDED_ENTITLEMENTS 0xfade7171
+
+/* Blob container. */
+#define BFD_MACH_O_CS_MAGIC_BLOB_WRAPPER 0xfade0b01
+
+struct mach_o_codesign_codedirectory_external_v1
+{
+ /* All the fields are in network byte order (big endian). */
+ unsigned char version[4];
+ unsigned char flags[4];
+ unsigned char hash_offset[4];
+ unsigned char ident_offset[4];
+ unsigned char nbr_special_slots[4];
+ unsigned char nbr_code_slots[4];
+ unsigned char code_limit[4];
+ unsigned char hash_size[1];
+ unsigned char hash_type[1];
+ unsigned char spare1[1];
+ unsigned char page_size[1];
+ unsigned char spare2[4];
+};
+
+struct mach_o_codesign_codedirectory_v1
+{
+ unsigned int version;
+ unsigned int flags;
+ unsigned int hash_offset;
+ unsigned int ident_offset;
+ unsigned int nbr_special_slots;
+ unsigned int nbr_code_slots;
+ unsigned int code_limit;
+ unsigned char hash_size;
+ unsigned char hash_type;
+ unsigned char spare1;
+ unsigned char page_size;
+ unsigned int spare2;
+};
+
+/* Value for hash_type. */
+#define BFD_MACH_O_CS_NO_HASH 0
+#define BFD_MACH_O_CS_HASH_SHA1 1
+#define BFD_MACH_O_CS_HASH_SHA256 2
+#define BFD_MACH_O_CS_HASH_PRESTANDARD_SKEIN_160x256 32 /* Skein, 160 bits */
+#define BFD_MACH_O_CS_HASH_PRESTANDARD_SKEIN_256x512 33 /* Skein, 256 bits */
+
+#endif /* _MACH_O_CODESIGN_H */
diff --git a/include/mach-o/external.h b/include/mach-o/external.h
new file mode 100644
index 000000000..41a293250
--- /dev/null
+++ b/include/mach-o/external.h
@@ -0,0 +1,326 @@
+/* Mach-O support for BFD.
+ Copyright 2011, 2012
+ Free Software Foundation, Inc.
+
+ This file is part of BFD, the Binary File Descriptor 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 3 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., 51 Franklin Street - Fifth Floor, Boston,
+ MA 02110-1301, USA. */
+
+#ifndef _MACH_O_EXTERNAL_H
+#define _MACH_O_EXTERNAL_H
+
+struct mach_o_header_external
+{
+ unsigned char magic[4]; /* Magic number. */
+ unsigned char cputype[4]; /* CPU that this object is for. */
+ unsigned char cpusubtype[4]; /* CPU subtype. */
+ unsigned char filetype[4]; /* Type of file. */
+ unsigned char ncmds[4]; /* Number of load commands. */
+ unsigned char sizeofcmds[4]; /* Total size of load commands. */
+ unsigned char flags[4]; /* Flags. */
+ unsigned char reserved[4]; /* Reserved (on 64-bit version only). */
+};
+
+#define BFD_MACH_O_HEADER_SIZE 28
+#define BFD_MACH_O_HEADER_64_SIZE 32
+
+/* 32-bit section header. */
+
+struct mach_o_section_32_external
+{
+ unsigned char sectname[16]; /* Section name. */
+ unsigned char segname[16]; /* Segment that the section belongs to. */
+ unsigned char addr[4]; /* Address of this section in memory. */
+ unsigned char size[4]; /* Size in bytes of this section. */
+ unsigned char offset[4]; /* File offset of this section. */
+ unsigned char align[4]; /* log2 of this section's alignment. */
+ unsigned char reloff[4]; /* File offset of this section's relocs. */
+ unsigned char nreloc[4]; /* Number of relocs for this section. */
+ unsigned char flags[4]; /* Section flags/attributes. */
+ unsigned char reserved1[4];
+ unsigned char reserved2[4];
+};
+#define BFD_MACH_O_SECTION_SIZE 68
+
+/* 64-bit section header. */
+
+struct mach_o_section_64_external
+{
+ unsigned char sectname[16]; /* Section name. */
+ unsigned char segname[16]; /* Segment that the section belongs to. */
+ unsigned char addr[8]; /* Address of this section in memory. */
+ unsigned char size[8]; /* Size in bytes of this section. */
+ unsigned char offset[4]; /* File offset of this section. */
+ unsigned char align[4]; /* log2 of this section's alignment. */
+ unsigned char reloff[4]; /* File offset of this section's relocs. */
+ unsigned char nreloc[4]; /* Number of relocs for this section. */
+ unsigned char flags[4]; /* Section flags/attributes. */
+ unsigned char reserved1[4];
+ unsigned char reserved2[4];
+ unsigned char reserved3[4];
+};
+#define BFD_MACH_O_SECTION_64_SIZE 80
+
+struct mach_o_load_command_external
+{
+ unsigned char cmd[4]; /* The type of load command. */
+ unsigned char cmdsize[4]; /* Size in bytes of entire command. */
+};
+#define BFD_MACH_O_LC_SIZE 8
+
+struct mach_o_segment_command_32_external
+{
+ unsigned char segname[16]; /* Name of this segment. */
+ unsigned char vmaddr[4]; /* Virtual memory address of this segment. */
+ unsigned char vmsize[4]; /* Size there, in bytes. */
+ unsigned char fileoff[4]; /* Offset in bytes of the data to be mapped. */
+ unsigned char filesize[4]; /* Size in bytes on disk. */
+ unsigned char maxprot[4]; /* Maximum permitted vm protection. */
+ unsigned char initprot[4]; /* Initial vm protection. */
+ unsigned char nsects[4]; /* Number of sections in this segment. */
+ unsigned char flags[4]; /* Flags that affect the loading. */
+};
+#define BFD_MACH_O_LC_SEGMENT_SIZE 56 /* Include the header. */
+
+struct mach_o_segment_command_64_external
+{
+ unsigned char segname[16]; /* Name of this segment. */
+ unsigned char vmaddr[8]; /* Virtual memory address of this segment. */
+ unsigned char vmsize[8]; /* Size there, in bytes. */
+ unsigned char fileoff[8]; /* Offset in bytes of the data to be mapped. */
+ unsigned char filesize[8]; /* Size in bytes on disk. */
+ unsigned char maxprot[4]; /* Maximum permitted vm protection. */
+ unsigned char initprot[4]; /* Initial vm protection. */
+ unsigned char nsects[4]; /* Number of sections in this segment. */
+ unsigned char flags[4]; /* Flags that affect the loading. */
+};
+#define BFD_MACH_O_LC_SEGMENT_64_SIZE 72 /* Include the header. */
+
+struct mach_o_reloc_info_external
+{
+ unsigned char r_address[4];
+ unsigned char r_symbolnum[4];
+};
+#define BFD_MACH_O_RELENT_SIZE 8
+
+/* Relocations are based on 'address' being a section offset and an assumption
+ that sections are never more than 2^24-1 bytes in size. Relocation data
+ also carry information on type/size/PC-relative/extern and whether scattered
+ or not [stored in the MSB of the r_address]. */
+
+#define BFD_MACH_O_SR_SCATTERED 0x80000000
+
+/* For a non-scattered reloc, the relocation info is found in r_symbolnum.
+ Bytes 1 to 3 contain the symbol number (0xffffff, in a non-scattered PAIR).
+ Byte 4 contains the relocation info - but with differing bit-positions
+ dependent on target endian-ness - as below. */
+
+#define BFD_MACH_O_LE_PCREL 0x01
+#define BFD_MACH_O_LE_LENGTH_SHIFT 1
+#define BFD_MACH_O_LE_EXTERN 0x08
+#define BFD_MACH_O_LE_TYPE_SHIFT 4
+
+#define BFD_MACH_O_BE_PCREL 0x80
+#define BFD_MACH_O_BE_LENGTH_SHIFT 5
+#define BFD_MACH_O_BE_EXTERN 0x10
+#define BFD_MACH_O_BE_TYPE_SHIFT 0
+
+/* The field sizes are the same for both BE and LE. */
+#define BFD_MACH_O_LENGTH_MASK 0x03
+#define BFD_MACH_O_TYPE_MASK 0x0f
+
+/* For a scattered reloc entry the info is contained in r_address. There
+ is no need to discriminate on target endian-ness, since the design was
+ arranged to produce the same layout on both. Scattered relocations are
+ only used for local items, therefore there is no 'extern' field. */
+
+#define BFD_MACH_O_SR_PCREL 0x40000000
+#define BFD_MACH_O_GET_SR_LENGTH(s) (((s) >> 28) & 0x3)
+#define BFD_MACH_O_GET_SR_TYPE(s) (((s) >> 24) & 0x0f)
+#define BFD_MACH_O_GET_SR_ADDRESS(s) ((s) & 0x00ffffff)
+#define BFD_MACH_O_SET_SR_LENGTH(l) (((l) & 0x3) << 28)
+#define BFD_MACH_O_SET_SR_TYPE(t) (((t) & 0xf) << 24)
+#define BFD_MACH_O_SET_SR_ADDRESS(s) ((s) & 0x00ffffff)
+
+struct mach_o_symtab_command_external
+{
+ unsigned char symoff[4]; /* File offset of the symbol table. */
+ unsigned char nsyms[4]; /* Number of symbols. */
+ unsigned char stroff[4]; /* File offset of the string table. */
+ unsigned char strsize[4]; /* String table size. */
+};
+
+struct mach_o_nlist_external
+{
+ unsigned char n_strx[4];
+ unsigned char n_type[1];
+ unsigned char n_sect[1];
+ unsigned char n_desc[2];
+ unsigned char n_value[4];
+};
+#define BFD_MACH_O_NLIST_SIZE 12
+
+struct mach_o_nlist_64_external
+{
+ unsigned char n_strx[4];
+ unsigned char n_type[1];
+ unsigned char n_sect[1];
+ unsigned char n_desc[2];
+ unsigned char n_value[8];
+};
+#define BFD_MACH_O_NLIST_64_SIZE 16
+
+struct mach_o_thread_command_external
+{
+ unsigned char flavour[4];
+ unsigned char count[4];
+};
+
+/* For commands that just have a string or a path. */
+struct mach_o_str_command_external
+{
+ unsigned char str[4];
+};
+
+struct mach_o_dylib_command_external
+{
+ unsigned char name[4];
+ unsigned char timestamp[4];
+ unsigned char current_version[4];
+ unsigned char compatibility_version[4];
+};
+
+struct mach_o_dysymtab_command_external
+{
+ unsigned char ilocalsym[4]; /* Index of. */
+ unsigned char nlocalsym[4]; /* Number of. */
+ unsigned char iextdefsym[4];
+ unsigned char nextdefsym[4];
+ unsigned char iundefsym[4];
+ unsigned char nundefsym[4];
+ unsigned char tocoff[4];
+ unsigned char ntoc[4];
+ unsigned char modtaboff[4];
+ unsigned char nmodtab[4];
+ unsigned char extrefsymoff[4];
+ unsigned char nextrefsyms[4];
+ unsigned char indirectsymoff[4];
+ unsigned char nindirectsyms[4];
+ unsigned char extreloff[4];
+ unsigned char nextrel[4];
+ unsigned char locreloff[4];
+ unsigned char nlocrel[4];
+};
+
+struct mach_o_dylib_module_external
+{
+ unsigned char module_name[4];
+ unsigned char iextdefsym[4];
+ unsigned char nextdefsym[4];
+ unsigned char irefsym[4];
+ unsigned char nrefsym[4];
+ unsigned char ilocalsym[4];
+ unsigned char nlocalsym[4];
+ unsigned char iextrel[4];
+ unsigned char nextrel[4];
+ unsigned char iinit_iterm[4];
+ unsigned char ninit_nterm[4];
+ unsigned char objc_module_info_addr[4];
+ unsigned char objc_module_info_size[4];
+};
+#define BFD_MACH_O_DYLIB_MODULE_SIZE 52
+
+struct mach_o_dylib_module_64_external
+{
+ unsigned char module_name[4];
+ unsigned char iextdefsym[4];
+ unsigned char nextdefsym[4];
+ unsigned char irefsym[4];
+ unsigned char nrefsym[4];
+ unsigned char ilocalsym[4];
+ unsigned char nlocalsym[4];
+ unsigned char iextrel[4];
+ unsigned char nextrel[4];
+ unsigned char iinit_iterm[4];
+ unsigned char ninit_nterm[4];
+ unsigned char objc_module_info_size[4];
+ unsigned char objc_module_info_addr[8];
+};
+#define BFD_MACH_O_DYLIB_MODULE_64_SIZE 56
+
+struct mach_o_dylib_table_of_contents_external
+{
+ unsigned char symbol_index[4];
+ unsigned char module_index[4];
+};
+#define BFD_MACH_O_TABLE_OF_CONTENT_SIZE 8
+
+struct mach_o_linkedit_data_command_external
+{
+ unsigned char dataoff[4];
+ unsigned char datasize[4];
+};
+
+struct mach_o_dyld_info_command_external
+{
+ unsigned char rebase_off[4];
+ unsigned char rebase_size[4];
+ unsigned char bind_off[4];
+ unsigned char bind_size[4];
+ unsigned char weak_bind_off[4];
+ unsigned char weak_bind_size[4];
+ unsigned char lazy_bind_off[4];
+ unsigned char lazy_bind_size[4];
+ unsigned char export_off[4];
+ unsigned char export_size[4];
+};
+
+struct mach_o_version_min_command_external
+{
+ unsigned char version[4];
+ unsigned char reserved[4];
+};
+
+struct mach_o_encryption_info_command_external
+{
+ unsigned char cryptoff[4]; /* File offset of the encrypted area. */
+ unsigned char cryptsize[4]; /* Size of the encrypted area. */
+ unsigned char cryptid[4]; /* Encryption method. */
+};
+
+struct mach_o_fvmlib_command_external
+{
+ unsigned char name[4]; /* Offset of the name. */
+ unsigned char minor_version[4];
+ unsigned char header_addr[4];
+};
+
+struct mach_o_fat_header_external
+{
+ unsigned char magic[4];
+ unsigned char nfat_arch[4]; /* Number of components. */
+};
+
+struct mach_o_fat_arch_external
+{
+ unsigned char cputype[4];
+ unsigned char cpusubtype[4];
+ unsigned char offset[4]; /* File offset of the member. */
+ unsigned char size[4]; /* Size of the member. */
+ unsigned char align[4]; /* Power of 2. */
+};
+
+#endif /* _MACH_O_EXTERNAL_H */
diff --git a/include/mach-o/loader.h b/include/mach-o/loader.h
new file mode 100644
index 000000000..1b9b15efe
--- /dev/null
+++ b/include/mach-o/loader.h
@@ -0,0 +1,360 @@
+/* Mach-O support for BFD.
+ Copyright 2011, 2012
+ Free Software Foundation, Inc.
+
+ This file is part of BFD, the Binary File Descriptor 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 3 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., 51 Franklin Street - Fifth Floor, Boston,
+ MA 02110-1301, USA. */
+
+#ifndef _MACH_O_LOADER_H
+#define _MACH_O_LOADER_H
+
+/* Constants for header. */
+
+typedef enum bfd_mach_o_mach_header_magic
+{
+ BFD_MACH_O_MH_MAGIC = 0xfeedface,
+ BFD_MACH_O_MH_CIGAM = 0xcefaedfe,
+ BFD_MACH_O_MH_MAGIC_64 = 0xfeedfacf,
+ BFD_MACH_O_MH_CIGAM_64 = 0xcffaedfe
+}
+bfd_mach_o_mach_header_magic;
+
+#define BFD_MACH_O_CPU_IS64BIT 0x1000000
+
+typedef enum bfd_mach_o_cpu_type
+{
+ BFD_MACH_O_CPU_TYPE_VAX = 1,
+ BFD_MACH_O_CPU_TYPE_MC680x0 = 6,
+ BFD_MACH_O_CPU_TYPE_I386 = 7,
+ BFD_MACH_O_CPU_TYPE_MIPS = 8,
+ BFD_MACH_O_CPU_TYPE_MC98000 = 10,
+ BFD_MACH_O_CPU_TYPE_HPPA = 11,
+ BFD_MACH_O_CPU_TYPE_ARM = 12,
+ BFD_MACH_O_CPU_TYPE_MC88000 = 13,
+ BFD_MACH_O_CPU_TYPE_SPARC = 14,
+ BFD_MACH_O_CPU_TYPE_I860 = 15,
+ BFD_MACH_O_CPU_TYPE_ALPHA = 16,
+ BFD_MACH_O_CPU_TYPE_POWERPC = 18,
+ BFD_MACH_O_CPU_TYPE_POWERPC_64 = (BFD_MACH_O_CPU_TYPE_POWERPC | BFD_MACH_O_CPU_IS64BIT),
+ BFD_MACH_O_CPU_TYPE_X86_64 = (BFD_MACH_O_CPU_TYPE_I386 | BFD_MACH_O_CPU_IS64BIT)
+}
+bfd_mach_o_cpu_type;
+
+typedef enum bfd_mach_o_cpu_subtype
+{
+ /* i386. */
+ BFD_MACH_O_CPU_SUBTYPE_X86_ALL = 3,
+
+ /* arm. */
+ BFD_MACH_O_CPU_SUBTYPE_ARM_ALL = 0,
+ BFD_MACH_O_CPU_SUBTYPE_ARM_V4T = 5,
+ BFD_MACH_O_CPU_SUBTYPE_ARM_V6 = 6,
+ BFD_MACH_O_CPU_SUBTYPE_ARM_V5TEJ = 7,
+ BFD_MACH_O_CPU_SUBTYPE_ARM_XSCALE = 8,
+ BFD_MACH_O_CPU_SUBTYPE_ARM_V7 = 9
+}
+bfd_mach_o_cpu_subtype;
+
+typedef enum bfd_mach_o_filetype
+{
+ BFD_MACH_O_MH_OBJECT = 0x01,
+ BFD_MACH_O_MH_EXECUTE = 0x02,
+ BFD_MACH_O_MH_FVMLIB = 0x03,
+ BFD_MACH_O_MH_CORE = 0x04,
+ BFD_MACH_O_MH_PRELOAD = 0x05,
+ BFD_MACH_O_MH_DYLIB = 0x06,
+ BFD_MACH_O_MH_DYLINKER = 0x07,
+ BFD_MACH_O_MH_BUNDLE = 0x08,
+ BFD_MACH_O_MH_DYLIB_STUB = 0x09,
+ BFD_MACH_O_MH_DSYM = 0x0a,
+ BFD_MACH_O_MH_KEXT_BUNDLE = 0x0b
+}
+bfd_mach_o_filetype;
+
+typedef enum bfd_mach_o_header_flags
+{
+ BFD_MACH_O_MH_NOUNDEFS = 0x0000001,
+ BFD_MACH_O_MH_INCRLINK = 0x0000002,
+ BFD_MACH_O_MH_DYLDLINK = 0x0000004,
+ BFD_MACH_O_MH_BINDATLOAD = 0x0000008,
+ BFD_MACH_O_MH_PREBOUND = 0x0000010,
+ BFD_MACH_O_MH_SPLIT_SEGS = 0x0000020,
+ BFD_MACH_O_MH_LAZY_INIT = 0x0000040,
+ BFD_MACH_O_MH_TWOLEVEL = 0x0000080,
+ BFD_MACH_O_MH_FORCE_FLAT = 0x0000100,
+ BFD_MACH_O_MH_NOMULTIDEFS = 0x0000200,
+ BFD_MACH_O_MH_NOFIXPREBINDING = 0x0000400,
+ BFD_MACH_O_MH_PREBINDABLE = 0x0000800,
+ BFD_MACH_O_MH_ALLMODSBOUND = 0x0001000,
+ BFD_MACH_O_MH_SUBSECTIONS_VIA_SYMBOLS = 0x0002000,
+ BFD_MACH_O_MH_CANONICAL = 0x0004000,
+ BFD_MACH_O_MH_WEAK_DEFINES = 0x0008000,
+ BFD_MACH_O_MH_BINDS_TO_WEAK = 0x0010000,
+ BFD_MACH_O_MH_ALLOW_STACK_EXECUTION = 0x0020000,
+ BFD_MACH_O_MH_ROOT_SAFE = 0x0040000,
+ BFD_MACH_O_MH_SETUID_SAFE = 0x0080000,
+ BFD_MACH_O_MH_NO_REEXPORTED_DYLIBS = 0x0100000,
+ BFD_MACH_O_MH_PIE = 0x0200000,
+ BFD_MACH_O_MH_DEAD_STRIPPABLE_DYLIB = 0x0400000,
+ BFD_MACH_O_MH_HAS_TLV_DESCRIPTORS = 0x0800000,
+ BFD_MACH_O_MH_NO_HEAP_EXECUTION = 0x1000000
+}
+bfd_mach_o_header_flags;
+
+/* Load command constants. */
+#define BFD_MACH_O_LC_REQ_DYLD 0x80000000
+
+typedef enum bfd_mach_o_load_command_type
+{
+ BFD_MACH_O_LC_SEGMENT = 0x1, /* File segment to be mapped. */
+ BFD_MACH_O_LC_SYMTAB = 0x2, /* Link-edit stab symbol table info (obsolete). */
+ BFD_MACH_O_LC_SYMSEG = 0x3, /* Link-edit gdb symbol table info. */
+ BFD_MACH_O_LC_THREAD = 0x4, /* Thread. */
+ BFD_MACH_O_LC_UNIXTHREAD = 0x5, /* UNIX thread (includes a stack). */
+ BFD_MACH_O_LC_LOADFVMLIB = 0x6, /* Load a fixed VM shared library. */
+ BFD_MACH_O_LC_IDFVMLIB = 0x7, /* Fixed VM shared library id. */
+ BFD_MACH_O_LC_IDENT = 0x8, /* Object identification information (obsolete). */
+ BFD_MACH_O_LC_FVMFILE = 0x9, /* Fixed VM file inclusion. */
+ BFD_MACH_O_LC_PREPAGE = 0xa, /* Prepage command (internal use). */
+ BFD_MACH_O_LC_DYSYMTAB = 0xb, /* Dynamic link-edit symbol table info. */
+ BFD_MACH_O_LC_LOAD_DYLIB = 0xc, /* Load a dynamically linked shared library. */
+ BFD_MACH_O_LC_ID_DYLIB = 0xd, /* Dynamically linked shared lib identification. */
+ BFD_MACH_O_LC_LOAD_DYLINKER = 0xe, /* Load a dynamic linker. */
+ BFD_MACH_O_LC_ID_DYLINKER = 0xf, /* Dynamic linker identification. */
+ BFD_MACH_O_LC_PREBOUND_DYLIB = 0x10, /* Modules prebound for a dynamically. */
+ BFD_MACH_O_LC_ROUTINES = 0x11, /* Image routines. */
+ BFD_MACH_O_LC_SUB_FRAMEWORK = 0x12, /* Sub framework. */
+ BFD_MACH_O_LC_SUB_UMBRELLA = 0x13, /* Sub umbrella. */
+ BFD_MACH_O_LC_SUB_CLIENT = 0x14, /* Sub client. */
+ BFD_MACH_O_LC_SUB_LIBRARY = 0x15, /* Sub library. */
+ BFD_MACH_O_LC_TWOLEVEL_HINTS = 0x16, /* Two-level namespace lookup hints. */
+ BFD_MACH_O_LC_PREBIND_CKSUM = 0x17, /* Prebind checksum. */
+ /* Load a dynamically linked shared library that is allowed to be
+ missing (weak). */
+ BFD_MACH_O_LC_LOAD_WEAK_DYLIB = 0x18,
+ BFD_MACH_O_LC_SEGMENT_64 = 0x19, /* 64-bit segment of this file to be
+ mapped. */
+ BFD_MACH_O_LC_ROUTINES_64 = 0x1a, /* Address of the dyld init routine
+ in a dylib. */
+ BFD_MACH_O_LC_UUID = 0x1b, /* 128-bit UUID of the executable. */
+ BFD_MACH_O_LC_RPATH = 0x1c, /* Run path addiions. */
+ BFD_MACH_O_LC_CODE_SIGNATURE = 0x1d, /* Local of code signature. */
+ BFD_MACH_O_LC_SEGMENT_SPLIT_INFO = 0x1e, /* Local of info to split seg. */
+ BFD_MACH_O_LC_REEXPORT_DYLIB = 0x1f, /* Load and re-export lib. */
+ BFD_MACH_O_LC_LAZY_LOAD_DYLIB = 0x20, /* Delay load of lib until use. */
+ BFD_MACH_O_LC_ENCRYPTION_INFO = 0x21, /* Encrypted segment info. */
+ BFD_MACH_O_LC_DYLD_INFO = 0x22, /* Compressed dyld information. */
+ BFD_MACH_O_LC_LOAD_UPWARD_DYLIB = 0x23, /* Load upward dylib. */
+ BFD_MACH_O_LC_VERSION_MIN_MACOSX = 0x24, /* Minimal MacOSX version. */
+ BFD_MACH_O_LC_VERSION_MIN_IPHONEOS = 0x25, /* Minimal IOS version. */
+ BFD_MACH_O_LC_FUNCTION_STARTS = 0x26, /* Compressed table of func start. */
+ BFD_MACH_O_LC_DYLD_ENVIRONMENT = 0x27 /* Env variable string for dyld. */
+}
+bfd_mach_o_load_command_type;
+
+/* Section constants. */
+/* Constants for the type of a section. */
+
+typedef enum bfd_mach_o_section_type
+{
+ /* Regular section. */
+ BFD_MACH_O_S_REGULAR = 0x0,
+
+ /* Zero fill on demand section. */
+ BFD_MACH_O_S_ZEROFILL = 0x1,
+
+ /* Section with only literal C strings. */
+ BFD_MACH_O_S_CSTRING_LITERALS = 0x2,
+
+ /* Section with only 4 byte literals. */
+ BFD_MACH_O_S_4BYTE_LITERALS = 0x3,
+
+ /* Section with only 8 byte literals. */
+ BFD_MACH_O_S_8BYTE_LITERALS = 0x4,
+
+ /* Section with only pointers to literals. */
+ BFD_MACH_O_S_LITERAL_POINTERS = 0x5,
+
+ /* For the two types of symbol pointers sections and the symbol stubs
+ section they have indirect symbol table entries. For each of the
+ entries in the section the indirect symbol table entries, in
+ corresponding order in the indirect symbol table, start at the index
+ stored in the reserved1 field of the section structure. Since the
+ indirect symbol table entries correspond to the entries in the
+ section the number of indirect symbol table entries is inferred from
+ the size of the section divided by the size of the entries in the
+ section. For symbol pointers sections the size of the entries in
+ the section is 4 bytes and for symbol stubs sections the byte size
+ of the stubs is stored in the reserved2 field of the section
+ structure. */
+
+ /* Section with only non-lazy symbol pointers. */
+ BFD_MACH_O_S_NON_LAZY_SYMBOL_POINTERS = 0x6,
+
+ /* Section with only lazy symbol pointers. */
+ BFD_MACH_O_S_LAZY_SYMBOL_POINTERS = 0x7,
+
+ /* Section with only symbol stubs, byte size of stub in the reserved2
+ field. */
+ BFD_MACH_O_S_SYMBOL_STUBS = 0x8,
+
+ /* Section with only function pointers for initialization. */
+ BFD_MACH_O_S_MOD_INIT_FUNC_POINTERS = 0x9,
+
+ /* Section with only function pointers for termination. */
+ BFD_MACH_O_S_MOD_FINI_FUNC_POINTERS = 0xa,
+
+ /* Section contains symbols that are coalesced by the linkers. */
+ BFD_MACH_O_S_COALESCED = 0xb,
+
+ /* Zero fill on demand section (possibly larger than 4 GB). */
+ BFD_MACH_O_S_GB_ZEROFILL = 0xc,
+
+ /* Section with only pairs of function pointers for interposing. */
+ BFD_MACH_O_S_INTERPOSING = 0xd,
+
+ /* Section with only 16 byte literals. */
+ BFD_MACH_O_S_16BYTE_LITERALS = 0xe,
+
+ /* Section contains DTrace Object Format. */
+ BFD_MACH_O_S_DTRACE_DOF = 0xf,
+
+ /* Section with only lazy symbol pointers to lazy loaded dylibs. */
+ BFD_MACH_O_S_LAZY_DYLIB_SYMBOL_POINTERS = 0x10
+}
+bfd_mach_o_section_type;
+
+/* The flags field of a section structure is separated into two parts a section
+ type and section attributes. The section types are mutually exclusive (it
+ can only have one type) but the section attributes are not (it may have more
+ than one attribute). */
+
+#define BFD_MACH_O_SECTION_TYPE_MASK 0x000000ff
+
+/* Constants for the section attributes part of the flags field of a section
+ structure. */
+#define BFD_MACH_O_SECTION_ATTRIBUTES_MASK 0xffffff00
+/* System setable attributes. */
+#define BFD_MACH_O_SECTION_ATTRIBUTES_SYS 0x00ffff00
+/* User attributes. */
+#define BFD_MACH_O_SECTION_ATTRIBUTES_USR 0xff000000
+
+typedef enum bfd_mach_o_section_attribute
+{
+ /* Section has no specified attibutes. */
+ BFD_MACH_O_S_ATTR_NONE = 0,
+
+ /* Section has local relocation entries. */
+ BFD_MACH_O_S_ATTR_LOC_RELOC = 0x00000100,
+
+ /* Section has external relocation entries. */
+ BFD_MACH_O_S_ATTR_EXT_RELOC = 0x00000200,
+
+ /* Section contains some machine instructions. */
+ BFD_MACH_O_S_ATTR_SOME_INSTRUCTIONS = 0x00000400,
+
+ /* A debug section. */
+ BFD_MACH_O_S_ATTR_DEBUG = 0x02000000,
+
+ /* Used with i386 stubs. */
+ BFD_MACH_O_S_SELF_MODIFYING_CODE = 0x04000000,
+
+ /* Blocks are live if they reference live blocks. */
+ BFD_MACH_O_S_ATTR_LIVE_SUPPORT = 0x08000000,
+
+ /* No dead stripping. */
+ BFD_MACH_O_S_ATTR_NO_DEAD_STRIP = 0x10000000,
+
+ /* Section symbols can be stripped in files with MH_DYLDLINK flag. */
+ BFD_MACH_O_S_ATTR_STRIP_STATIC_SYMS = 0x20000000,
+
+ /* Section contains coalesced symbols that are not to be in the TOC of an
+ archive. */
+ BFD_MACH_O_S_ATTR_NO_TOC = 0x40000000,
+
+ /* Section contains only true machine instructions. */
+ BFD_MACH_O_S_ATTR_PURE_INSTRUCTIONS = 0x80000000
+}
+bfd_mach_o_section_attribute;
+
+/* Symbol constants. */
+
+/* Symbol n_type values. */
+#define BFD_MACH_O_N_STAB 0xe0 /* If any of these bits set, a symbolic debugging entry. */
+#define BFD_MACH_O_N_PEXT 0x10 /* Private external symbol bit. */
+#define BFD_MACH_O_N_TYPE 0x0e /* Mask for the type bits. */
+#define BFD_MACH_O_N_EXT 0x01 /* External symbol bit, set for external symbols. */
+#define BFD_MACH_O_N_UNDF 0x00 /* Undefined, n_sect == NO_SECT. */
+#define BFD_MACH_O_N_ABS 0x02 /* Absolute, n_sect == NO_SECT. */
+#define BFD_MACH_O_N_INDR 0x0a /* Indirect. */
+#define BFD_MACH_O_N_PBUD 0x0c /* Prebound undefined (defined in a dylib). */
+#define BFD_MACH_O_N_SECT 0x0e /* Defined in section number n_sect. */
+
+#define BFD_MACH_O_NO_SECT 0 /* Symbol not in any section of the image. */
+
+/* Symbol n_desc reference flags. */
+#define BFD_MACH_O_REFERENCE_MASK 0x0f
+#define BFD_MACH_O_REFERENCE_FLAG_UNDEFINED_NON_LAZY 0x00
+#define BFD_MACH_O_REFERENCE_FLAG_UNDEFINED_LAZY 0x01
+#define BFD_MACH_O_REFERENCE_FLAG_DEFINED 0x02
+#define BFD_MACH_O_REFERENCE_FLAG_PRIVATE_DEFINED 0x03
+#define BFD_MACH_O_REFERENCE_FLAG_PRIVATE_UNDEFINED_NON_LAZY 0x04
+#define BFD_MACH_O_REFERENCE_FLAG_PRIVATE_UNDEFINED_LAZY 0x05
+
+#define BFD_MACH_O_REFERENCED_DYNAMICALLY 0x10
+#define BFD_MACH_O_N_DESC_DISCARDED 0x20
+#define BFD_MACH_O_N_NO_DEAD_STRIP 0x20
+#define BFD_MACH_O_N_WEAK_REF 0x40
+#define BFD_MACH_O_N_WEAK_DEF 0x80
+
+#define BFD_MACH_O_INDIRECT_SYM_LOCAL 0x80000000
+#define BFD_MACH_O_INDIRECT_SYM_ABS 0x40000000
+
+/* Thread constants. */
+
+typedef enum bfd_mach_o_ppc_thread_flavour
+{
+ BFD_MACH_O_PPC_THREAD_STATE = 1,
+ BFD_MACH_O_PPC_FLOAT_STATE = 2,
+ BFD_MACH_O_PPC_EXCEPTION_STATE = 3,
+ BFD_MACH_O_PPC_VECTOR_STATE = 4,
+ BFD_MACH_O_PPC_THREAD_STATE64 = 5,
+ BFD_MACH_O_PPC_EXCEPTION_STATE64 = 6,
+ BFD_MACH_O_PPC_THREAD_STATE_NONE = 7
+}
+bfd_mach_o_ppc_thread_flavour;
+
+/* Defined in <mach/i386/thread_status.h> */
+typedef enum bfd_mach_o_i386_thread_flavour
+{
+ BFD_MACH_O_x86_THREAD_STATE32 = 1,
+ BFD_MACH_O_x86_FLOAT_STATE32 = 2,
+ BFD_MACH_O_x86_EXCEPTION_STATE32 = 3,
+ BFD_MACH_O_x86_THREAD_STATE64 = 4,
+ BFD_MACH_O_x86_FLOAT_STATE64 = 5,
+ BFD_MACH_O_x86_EXCEPTION_STATE64 = 6,
+ BFD_MACH_O_x86_THREAD_STATE = 7,
+ BFD_MACH_O_x86_FLOAT_STATE = 8,
+ BFD_MACH_O_x86_EXCEPTION_STATE = 9,
+ BFD_MACH_O_x86_DEBUG_STATE32 = 10,
+ BFD_MACH_O_x86_DEBUG_STATE64 = 11,
+ BFD_MACH_O_x86_DEBUG_STATE = 12,
+ BFD_MACH_O_x86_THREAD_STATE_NONE = 13
+}
+bfd_mach_o_i386_thread_flavour;
+
+#endif /* _MACH_O_LOADER_H */
diff --git a/include/mach-o/reloc.h b/include/mach-o/reloc.h
new file mode 100644
index 000000000..bab31efeb
--- /dev/null
+++ b/include/mach-o/reloc.h
@@ -0,0 +1,33 @@
+/* Mach-O support for BFD.
+ Copyright 2011, 2012
+ Free Software Foundation, Inc.
+
+ This file is part of BFD, the Binary File Descriptor 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 3 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., 51 Franklin Street - Fifth Floor, Boston,
+ MA 02110-1301, USA. */
+
+#ifndef _MACH_O_RELOC_H
+#define _MACH_O_RELOC_H
+
+/* Generic relocation types (used by i386). */
+#define BFD_MACH_O_GENERIC_RELOC_VANILLA 0
+#define BFD_MACH_O_GENERIC_RELOC_PAIR 1
+#define BFD_MACH_O_GENERIC_RELOC_SECTDIFF 2
+#define BFD_MACH_O_GENERIC_RELOC_PB_LA_PTR 3
+#define BFD_MACH_O_GENERIC_RELOC_LOCAL_SECTDIFF 4
+#define BFD_MACH_O_GENERIC_RELOC_TLV 5
+
+#endif /* _MACH_O_RELOC_H */
diff --git a/include/mach-o/x86-64.h b/include/mach-o/x86-64.h
new file mode 100644
index 000000000..d06bc26a7
--- /dev/null
+++ b/include/mach-o/x86-64.h
@@ -0,0 +1,37 @@
+/* Mach-O support for BFD.
+ Copyright 2011
+ Free Software Foundation, Inc.
+
+ This file is part of BFD, the Binary File Descriptor 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 3 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., 51 Franklin Street - Fifth Floor, Boston,
+ MA 02110-1301, USA. */
+
+#ifndef _MACH_O_X86_64_H
+#define _MACH_O_X86_64_H
+
+/* X86-64 relocations. */
+#define BFD_MACH_O_X86_64_RELOC_UNSIGNED 0 /* Absolute addresses. */
+#define BFD_MACH_O_X86_64_RELOC_SIGNED 1 /* 32-bit disp. */
+#define BFD_MACH_O_X86_64_RELOC_BRANCH 2 /* 32-bit pcrel disp. */
+#define BFD_MACH_O_X86_64_RELOC_GOT_LOAD 3 /* Movq load of a GOT entry. */
+#define BFD_MACH_O_X86_64_RELOC_GOT 4 /* GOT reference. */
+#define BFD_MACH_O_X86_64_RELOC_SUBTRACTOR 5 /* Symbol difference. */
+#define BFD_MACH_O_X86_64_RELOC_SIGNED_1 6 /* 32-bit signed disp -1. */
+#define BFD_MACH_O_X86_64_RELOC_SIGNED_2 7 /* 32-bit signed disp -2. */
+#define BFD_MACH_O_X86_64_RELOC_SIGNED_4 8 /* 32-bit signed disp -4. */
+#define BFD_MACH_O_X86_64_RELOC_TLV 9 /* Thread local variables. */
+
+#endif /* _MACH_O_X86_64_H */
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog
index 1091973b2..7e2c14ea6 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -1,84 +1,3 @@
-2012-07-31 Chao-Ying Fu <fu@mips.com>
- Catherine Moore <clm@codesourcery.com>
- Maciej W. Rozycki <macro@codesourcery.com>
-
- * mips.h: Document microMIPS DSP ASE usage.
- (MICROMIPSOP_MASK_DSPACC, MICROMIPSOP_SH_DSPACC): Update for
- microMIPS DSP ASE support.
- (MICROMIPSOP_MASK_DSPSFT, MICROMIPSOP_SH_DSPSFT): Likewise.
- (MICROMIPSOP_MASK_SA3, MICROMIPSOP_SH_SA3): Likewise.
- (MICROMIPSOP_MASK_SA4, MICROMIPSOP_SH_SA4): Likewise.
- (MICROMIPSOP_MASK_IMM8, MICROMIPSOP_SH_IMM8): Likewise.
- (MICROMIPSOP_MASK_IMM10, MICROMIPSOP_SH_IMM10): Likewise.
- (MICROMIPSOP_MASK_WRDSP, MICROMIPSOP_SH_WRDSP): Likewise.
- (MICROMIPSOP_MASK_BP, MICROMIPSOP_SH_BP): Likewise.
-
-2012-07-06 Maciej W. Rozycki <macro@codesourcery.com>
-
- * mips.h: Fix a typo in description.
-
-2012-06-07 Georg-Johann Lay <avr@gjlay.de>
-
- * avr.h: (AVR_ISA_XCH): New define.
- (AVR_ISA_XMEGA): Use it.
- (XCH, LAS, LAT, LAC): New XMEGA opcodes.
-
-2012-05-15 James Murray <jsm@jsm-net.demon.co.uk>
-
- * m68hc11.h: Add XGate definitions.
- (struct m68hc11_opcode): Add xg_mask field.
-
-2012-05-14 Catherine Moore <clm@codesourcery.com>
- Maciej W. Rozycki <macro@codesourcery.com>
- Rhonda Wittels <rhonda@codesourcery.com>
-
- * ppc.h (PPC_OPCODE_VLE): New definition.
- (PPC_OP_SA): New macro.
- (PPC_OP_SE_VLE): New macro.
- (PPC_OP): Use a variable shift amount.
- (powerpc_operand): Update comments.
- (PPC_OPSHIFT_INV): New macro.
- (PPC_OPERAND_CR): Replace with...
- (PPC_OPERAND_CR_BIT): ...this and
- (PPC_OPERAND_CR_REG): ...this.
-
-
-2012-05-03 Sean Keys <skeys@ipdatasys.com>
-
- * xgate.h: Header file for XGATE assembler.
-
-2012-04-27 David S. Miller <davem@davemloft.net>
-
- * sparc.h: Document new arg code' )' for crypto RS3
- immediates.
-
- * sparc.h (struct sparc_opcode): New field 'hwcaps'.
- F_MUL32, F_DIV32, F_FDMULD, F_V8PLUS, F_POPC, F_VIS, F_VIS2,
- F_ASI_BLK_INIT, F_FMAF, F_VIS3, F_HPC, F_RANDOM, F_TRANS,
- F_FJFMAU, F_IMA, F_ASI_CACHE_SPARING, F_HWCAP_MASK): Delete.
- (HWCAP_MUL32, HWCAP_DIV32, HWCAP_FSMULD, HWCAP_V8PLUS, HWCAP_POPC,
- HWCAP_VIS, HWCAP_VIS2, HWCAP_ASI_BLK_INIT, HWCAP_FMAF,
- HWCAP_VIS3, HWCAP_HPC, HWCAP_RANDOM, HWCAP_TRANS, HWCAP_FJFMAU,
- HWCAP_IMA, HWCAP_ASI_CACHE_SPARING, HWCAP_AES, HWCAP_DES,
- HWCAP_KASUMI, HWCAP_CAMELLIA, HWCAP_MD5, HWCAP_SHA1,
- HWCAP_SHA256, HWCAP_SHA512, HWCAP_MPMUL, HWCAP_MONT, HWCAP_PAUSE,
- HWCAP_CBCOND, HWCAP_CRC32): New defines.
-
-2012-03-10 Edmar Wienskoski <edmar@freescale.com>
-
- * ppc.h: Add PPC_OPCODE_ALTIVEC2, PPC_OPCODE_E6500, PPC_OPCODE_TMR.
-
-2012-02-27 Alan Modra <amodra@gmail.com>
-
- * crx.h (cst4_map): Update declaration.
-
-2012-02-25 Walter Lee <walt@tilera.com>
-
- * tilegx.h (tilegx_mnemonic): Add TILEGX_OPC_LD4S_TLS,
- TILEGX_OPC_LD_TLS.
- * tilepro.h (tilepro_mnemonic): Add TILEPRO_OPC_LW_TLS,
- TILEPRO_OPC_LW_TLS_SN.
-
2012-02-08 H.J. Lu <hongjiu.lu@intel.com>
* i386.h (XACQUIRE_PREFIX_OPCODE): New.
diff --git a/include/opcode/avr.h b/include/opcode/avr.h
index 6e86c07ba..a6d7b478d 100644
--- a/include/opcode/avr.h
+++ b/include/opcode/avr.h
@@ -1,6 +1,6 @@
/* Opcode table for the Atmel AVR micro controllers.
- Copyright 2000, 2001, 2004, 2006, 2008, 2010, 2012 Free Software Foundation, Inc.
+ Copyright 2000, 2001, 2004, 2006, 2008, 2010 Free Software Foundation, Inc.
Contributed by Denis Chertykov <denisc@overta.ru>
This program is free software; you can redistribute it and/or modify
@@ -33,7 +33,6 @@
#define AVR_ISA_MOVW 0x1000 /* device has MOVW */
#define AVR_ISA_SPMX 0x2000 /* device has SPM Z[+] */
#define AVR_ISA_DES 0x4000 /* device has DES */
-#define AVR_ISA_XCH 0x8000 /* device has XCH, LAC, LAS, LAT */
#define AVR_ISA_TINY1 (AVR_ISA_1200 | AVR_ISA_LPM)
#define AVR_ISA_2xxx (AVR_ISA_TINY1 | AVR_ISA_SRAM)
@@ -53,7 +52,7 @@
#define AVR_ISA_M323 (AVR_ISA_M161 | AVR_ISA_BRK)
#define AVR_ISA_M128 (AVR_ISA_M323 | AVR_ISA_ELPM | AVR_ISA_ELPMX)
#define AVR_ISA_M256 (AVR_ISA_M128 | AVR_ISA_EIND)
-#define AVR_ISA_XMEGA (AVR_ISA_M256 | AVR_ISA_SPMX | AVR_ISA_DES | AVR_ISA_XCH)
+#define AVR_ISA_XMEGA (AVR_ISA_M256 | AVR_ISA_SPMX | AVR_ISA_DES)
#define AVR_ISA_AVR1 AVR_ISA_TINY1
#define AVR_ISA_AVR2 AVR_ISA_2xxx
@@ -125,6 +124,7 @@
0x0001...0x00ff (255) (known to be decoded as `nop' by the old core)
"100100xxxxxxx011" (128) 0x9[0-3][0-9a-f][3b]
"100100xxxxxx1000" (64) 0x9[0-3][0-9a-f]8
+ "1001001xxxxx01xx" (128) 0x9[23][0-9a-f][4-7]
"1001010xxxxx0100" (32) 0x9[45][0-9a-f]4
"1001010x001x1001" (4) 0x9[45][23]9
"1001010x01xx1001" (8) 0x9[45][4-7]9
@@ -265,12 +265,6 @@ AVR_INSN (push, "r", "1001001rrrrr1111", 1, AVR_ISA_2xxx, 0x920f)
AVR_INSN (ror, "r", "1001010rrrrr0111", 1, AVR_ISA_1200, 0x9407)
AVR_INSN (swap, "r", "1001010rrrrr0010", 1, AVR_ISA_1200, 0x9402)
- /* Atomic memory operations for XMEGA. List before `sts'. */
-AVR_INSN (xch, "z,r", "1001001rrrrr0100", 1, AVR_ISA_XCH, 0x9204)
-AVR_INSN (las, "z,r", "1001001rrrrr0101", 1, AVR_ISA_XCH, 0x9205)
-AVR_INSN (lac, "z,r", "1001001rrrrr0110", 1, AVR_ISA_XCH, 0x9206)
-AVR_INSN (lat, "z,r", "1001001rrrrr0111", 1, AVR_ISA_XCH, 0x9207)
-
/* Known to be decoded as `nop' by the old core. */
AVR_INSN (movw, "v,v", "00000001ddddrrrr", 1, AVR_ISA_MOVW, 0x0100)
AVR_INSN (muls, "d,d", "00000010ddddrrrr", 1, AVR_ISA_MUL, 0x0200)
diff --git a/include/opcode/crx.h b/include/opcode/crx.h
index 6081ea354..5c484bf26 100644
--- a/include/opcode/crx.h
+++ b/include/opcode/crx.h
@@ -1,5 +1,5 @@
/* crx.h -- Header file for CRX opcode and register tables.
- Copyright 2004, 2010, 2012 Free Software Foundation, Inc.
+ Copyright 2004, 2010 Free Software Foundation, Inc.
Contributed by Tomer Levi, NSC, Israel.
Originally written for GAS 2.12 by Tomer Levi, NSC, Israel.
Updates, BFDizing, GNUifying and ELF support by Tomer Levi.
@@ -384,7 +384,7 @@ extern const int crx_num_traps;
#define NUMTRAPS crx_num_traps
/* cst4 operand mapping. */
-extern const int cst4_map[];
+extern const long cst4_map[];
extern const int cst4_maps;
/* Table of instructions with no operands. */
diff --git a/include/opcode/m68hc11.h b/include/opcode/m68hc11.h
index 1a002008c..83f5a9a65 100644
--- a/include/opcode/m68hc11.h
+++ b/include/opcode/m68hc11.h
@@ -1,6 +1,5 @@
/* m68hc11.h -- Header file for Motorola 68HC11 & 68HC12 opcode table
- Copyright 1999, 2000, 2002, 2003, 2010, 2012
- Free Software Foundation, Inc.
+ Copyright 1999, 2000, 2002, 2003, 2010 Free Software Foundation, Inc.
Written by Stephane Carrez (stcarrez@nerim.fr)
This file is part of GDB, GAS, and the GNU binutils.
@@ -38,7 +37,8 @@
of the M6811_INIT register. At init time, the I/O registers are
mapped at 0x1000. Address of registers is then:
- 0x1000 + M6811_xxx. */
+ 0x1000 + M6811_xxx
+*/
#define M6811_PORTA 0x00 /* Port A register */
#define M6811__RES1 0x01 /* Unused/Reserved */
#define M6811_PIOC 0x02 /* Parallel I/O Control register */
@@ -364,26 +364,6 @@
#define M6812_INDEXED 0x20000000 /* n,r n = 5, 9 or 16-bits */
#define M6812_OP_IDX_P2 0x40000000
-/* XGATE defines.
- These overlap with HC11/12 as above but not used at the same time. */
-#define M68XG_OP_NONE 0x0001
-#define M68XG_OP_IMM3 0x0002
-#define M68XG_OP_R 0x0004
-#define M68XG_OP_R_R 0x0008
-#define M68XG_OP_R_IMM4 0x0010
-#define M68XG_OP_R_R_R 0x0020
-#define M68XG_OP_REL9 0x0040
-#define M68XG_OP_REL10 0x0080
-#define M68XG_OP_R_R_OFFS5 0x0100
-#define M68XG_OP_RD_RB_RI 0x0200
-#define M68XG_OP_RD_RB_RIp 0x0400
-#define M68XG_OP_RD_RB_mRI 0x0800
-#define M68XG_OP_R_IMM8 0x1000
-#define M68XG_OP_R_IMM16 0x2000
-#define M68XG_OP_REG 0x4000 /* Register operand 1. */
-#define M68XG_OP_REG_2 0x8000 /* Register operand 2. */
-#define M68XG_MAX_OPERANDS 3 /* Max operands of triadic r1, r2, r3. */
-
/* Markers to identify some instructions. */
#define M6812_OP_EXG_MARKER 0x01000000 /* exg r1,r2 */
#define M6812_OP_TFR_MARKER 0x02000000 /* tfr r1,r2 */
@@ -394,43 +374,35 @@
#define M6812_OP_IBCC_MARKER 0x02000000 /* ibeq/ibne */
#define M6812_OP_TBCC_MARKER 0x01000000
-/* XGATE markers. */
-#define M68XG_OP_B_MARKER 0x04000000 /* bXX rel9 */
-#define M68XG_OP_BRA_MARKER 0x02000000 /* bra rel10 */
-
#define M6812_OP_TRAP_ID 0x80000000 /* trap #N */
#define M6811_OP_HIGH_ADDR 0x01000000 /* Used internally by gas. */
#define M6811_OP_LOW_ADDR 0x02000000
-#define M68HC12_BANK_VIRT 0x010000
-#define M68HC12_BANK_MASK 0x00003fff
-#define M68HC12_BANK_BASE 0x00008000
-#define M68HC12_BANK_SHIFT 14
-#define M68HC12_BANK_PAGE_MASK 0x0ff
+#define M68HC12_BANK_VIRT 0x010000
+#define M68HC12_BANK_MASK 0x00003fff
+#define M68HC12_BANK_BASE 0x00008000
+#define M68HC12_BANK_SHIFT 14
+#define M68HC12_BANK_PAGE_MASK 0x0ff
/* CPU identification. */
#define cpu6811 0x01
#define cpu6812 0x02
#define cpu6812s 0x04
-#define cpu9s12x 0x08 /* 9S12X main cpu. */
-#define cpuxgate 0x10 /* The XGATE module itself. */
/* The opcode table is an array of struct m68hc11_opcode. */
-struct m68hc11_opcode
-{
- const char * name; /* Op-code name. */
+struct m68hc11_opcode {
+ const char* name; /* Op-code name */
long format;
unsigned char size;
- unsigned int opcode;
+ unsigned char opcode;
unsigned char cycles_low;
unsigned char cycles_high;
unsigned char set_flags_mask;
unsigned char clr_flags_mask;
unsigned char chg_flags_mask;
unsigned char arch;
- unsigned int xg_mask; /* Mask with zero in register place for xgate. */
};
/* Alias definition for 68HC12. */
diff --git a/include/opcode/mips.h b/include/opcode/mips.h
index 857fc7173..fb9094c26 100644
--- a/include/opcode/mips.h
+++ b/include/opcode/mips.h
@@ -1494,24 +1494,6 @@ extern const int bfd_mips16_num_opcodes;
#define MICROMIPSOP_MASK_IMMY 0x1ff
#define MICROMIPSOP_SH_IMMY 1
-/* MIPS DSP ASE */
-#define MICROMIPSOP_MASK_DSPACC 0x3
-#define MICROMIPSOP_SH_DSPACC 14
-#define MICROMIPSOP_MASK_DSPSFT 0x3f
-#define MICROMIPSOP_SH_DSPSFT 16
-#define MICROMIPSOP_MASK_SA3 0x7
-#define MICROMIPSOP_SH_SA3 13
-#define MICROMIPSOP_MASK_SA4 0xf
-#define MICROMIPSOP_SH_SA4 12
-#define MICROMIPSOP_MASK_IMM8 0xff
-#define MICROMIPSOP_SH_IMM8 13
-#define MICROMIPSOP_MASK_IMM10 0x3ff
-#define MICROMIPSOP_SH_IMM10 16
-#define MICROMIPSOP_MASK_WRDSP 0x3f
-#define MICROMIPSOP_SH_WRDSP 14
-#define MICROMIPSOP_MASK_BP 0x3
-#define MICROMIPSOP_SH_BP 14
-
/* Placeholders for fields that only exist in the traditional 32-bit
instruction encoding; see the comment above for details. */
#define MICROMIPSOP_MASK_CODE20 0
@@ -1526,12 +1508,28 @@ extern const int bfd_mips16_num_opcodes;
#define MICROMIPSOP_SH_VECBYTE 0
#define MICROMIPSOP_MASK_VECALIGN 0
#define MICROMIPSOP_SH_VECALIGN 0
+#define MICROMIPSOP_MASK_DSPACC 0
+#define MICROMIPSOP_SH_DSPACC 0
#define MICROMIPSOP_MASK_DSPACC_S 0
#define MICROMIPSOP_SH_DSPACC_S 0
+#define MICROMIPSOP_MASK_DSPSFT 0
+#define MICROMIPSOP_SH_DSPSFT 0
#define MICROMIPSOP_MASK_DSPSFT_7 0
#define MICROMIPSOP_SH_DSPSFT_7 0
+#define MICROMIPSOP_MASK_SA3 0
+#define MICROMIPSOP_SH_SA3 0
+#define MICROMIPSOP_MASK_SA4 0
+#define MICROMIPSOP_SH_SA4 0
+#define MICROMIPSOP_MASK_IMM8 0
+#define MICROMIPSOP_SH_IMM8 0
+#define MICROMIPSOP_MASK_IMM10 0
+#define MICROMIPSOP_SH_IMM10 0
+#define MICROMIPSOP_MASK_WRDSP 0
+#define MICROMIPSOP_SH_WRDSP 0
#define MICROMIPSOP_MASK_RDDSP 0
#define MICROMIPSOP_SH_RDDSP 0
+#define MICROMIPSOP_MASK_BP 0
+#define MICROMIPSOP_SH_BP 0
#define MICROMIPSOP_MASK_MT_U 0
#define MICROMIPSOP_SH_MT_U 0
#define MICROMIPSOP_MASK_MT_H 0
@@ -1648,7 +1646,7 @@ extern const int bfd_mips16_num_opcodes;
"y" 5-bit source 3 register for ALNV.PS (MICROMIPSOP_*_RS3)
"z" must be zero register
"C" 23-bit coprocessor function code (MICROMIPSOP_*_COPZ)
- "B" 10-bit syscall/wait function code (MICROMIPSOP_*_CODE10)
+ "B" 8-bit syscall/wait function code (MICROMIPSOP_*_CODE10)
"K" 5-bit Hardware Register (RDHWR instruction) (MICROMIPSOP_*_RS)
"+A" 5-bit INS/EXT/DINS/DEXT/DINSM/DEXTM position, which becomes
@@ -1704,18 +1702,6 @@ extern const int bfd_mips16_num_opcodes;
"f" 32-bit floating point constant
"l" 32-bit floating point constant in .lit4
- DSP ASE usage:
- "2" 2-bit unsigned immediate for byte align (MICROMIPSOP_*_BP)
- "3" 3-bit unsigned immediate (MICROMIPSOP_*_SA3)
- "4" 4-bit unsigned immediate (MICROMIPSOP_*_SA4)
- "5" 8-bit unsigned immediate (MICROMIPSOP_*_IMM8)
- "6" 5-bit unsigned immediate (MICROMIPSOP_*_RS)
- "7" 2-bit DSP accumulator register (MICROMIPSOP_*_DSPACC)
- "8" 6-bit unsigned immediate (MICROMIPSOP_*_WRDSP)
- "0" 6-bit signed immediate (MICROMIPSOP_*_DSPSFT)
- "@" 10-bit signed immediate (MICROMIPSOP_*_IMM10)
- "^" 5-bit unsigned immediate (MICROMIPSOP_*_RD)
-
Other:
"()" parens surrounding optional value
"," separates operands
@@ -1723,8 +1709,8 @@ extern const int bfd_mips16_num_opcodes;
"m" start of microMIPS extension sequence
Characters used so far, for quick reference when adding more:
- "12345678 0"
- "<>(),+.@\^|~"
+ "1234567890"
+ "<>(),+.\|~"
"ABCDEFGHI KLMN RST V "
"abcd f hijklmnopqrstuvw yz"
diff --git a/include/opcode/ppc.h b/include/opcode/ppc.h
index 2e789d6ff..a0119dc0a 100644
--- a/include/opcode/ppc.h
+++ b/include/opcode/ppc.h
@@ -1,6 +1,6 @@
/* ppc.h -- Header file for PowerPC opcode table
Copyright 1994, 1995, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- 2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
+ 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Cygnus Support
This file is part of GDB, GAS, and the GNU binutils.
@@ -65,8 +65,6 @@ struct powerpc_opcode
instructions. */
extern const struct powerpc_opcode powerpc_opcodes[];
extern const int powerpc_num_opcodes;
-extern const struct powerpc_opcode vle_opcodes[];
-extern const int vle_num_opcodes;
/* Values defined for the flags field of a struct powerpc_opcode. */
@@ -176,29 +174,8 @@ extern const int vle_num_opcodes;
/* Opcode which is supported by the e500 family */
#define PPC_OPCODE_E500 0x100000000ull
-/* Opcode is supported by Extended Altivec Vector Unit */
-#define PPC_OPCODE_ALTIVEC2 0x200000000ull
-
-/* Opcode is supported by Power E6500 */
-#define PPC_OPCODE_E6500 0x400000000ull
-
-/* Opcode is supported by Thread management APU */
-#define PPC_OPCODE_TMR 0x800000000ull
-
-/* Opcode which is supported by the VLE extension. */
-#define PPC_OPCODE_VLE 0x1000000000ull
-
/* A macro to extract the major opcode from an instruction. */
#define PPC_OP(i) (((i) >> 26) & 0x3f)
-
-/* A macro to determine if the instruction is a 2-byte VLE insn. */
-#define PPC_OP_SE_VLE(m) ((m) <= 0xffff)
-
-/* A macro to extract the major opcode from a VLE instruction. */
-#define VLE_OP(i,m) (((i) >> ((m) <= 0xffff ? 10 : 26)) & 0x3f)
-
-/* A macro to convert a VLE opcode to a VLE opcode segment. */
-#define VLE_OP_TO_SEG(i) ((i) >> 1)
/* The operands table is an array of struct powerpc_operand. */
@@ -207,22 +184,16 @@ struct powerpc_operand
/* A bitmask of bits in the operand. */
unsigned int bitm;
- /* The shift operation to be applied to the operand. No shift
- is made if this is zero. For positive values, the operand
- is shifted left by SHIFT. For negative values, the operand
- is shifted right by -SHIFT. Use PPC_OPSHIFT_INV to indicate
- that BITM and SHIFT cannot be used to determine where the
- operand goes in the insn. */
+ /* How far the operand is left shifted in the instruction.
+ -1 to indicate that BITM and SHIFT cannot be used to determine
+ where the operand goes in the insn. */
int shift;
/* Insertion function. This is used by the assembler. To insert an
operand value into an instruction, check this field.
If it is NULL, execute
- if (o->shift >= 0)
- i |= (op & o->bitm) << o->shift;
- else
- i |= (op & o->bitm) >> -o->shift;
+ i |= (op & o->bitm) << o->shift;
(i is the instruction which we are filling in, o is a pointer to
this structure, and op is the operand value).
@@ -240,10 +211,7 @@ struct powerpc_operand
extract this operand type from an instruction, check this field.
If it is NULL, compute
- if (o->shift >= 0)
- op = (i >> o->shift) & o->bitm;
- else
- op = (i << -o->shift) & o->bitm;
+ op = (i >> o->shift) & o->bitm;
if ((o->flags & PPC_OPERAND_SIGNED) != 0)
sign_extend (op);
(i is the instruction, o is a pointer to this structure, and op
@@ -267,11 +235,6 @@ struct powerpc_operand
extern const struct powerpc_operand powerpc_operands[];
extern const unsigned int num_powerpc_operands;
-/* Use with the shift field of a struct powerpc_operand to indicate
- that BITM and SHIFT cannot be used to determine where the operand
- goes in the insn. */
-#define PPC_OPSHIFT_INV (-1 << 31)
-
/* Values defined for the flags field of a struct powerpc_operand. */
/* This operand takes signed values. */
@@ -305,7 +268,7 @@ extern const unsigned int num_powerpc_operands;
cr4 4 cr5 5 cr6 6 cr7 7
These may be combined arithmetically, as in cr2*4+gt. These are
only supported on the PowerPC, not the POWER. */
-#define PPC_OPERAND_CR_BIT (0x10)
+#define PPC_OPERAND_CR (0x10)
/* This operand names a register. The disassembler uses this to print
register names with a leading 'r'. */
@@ -370,9 +333,6 @@ extern const unsigned int num_powerpc_operands;
/* This operand names a vector-scalar unit register. The disassembler
prints these with a leading 'vs'. */
#define PPC_OPERAND_VSR (0x100000)
-
-/* This is a CR FIELD that does not use symbolic names. */
-#define PPC_OPERAND_CR_REG (0x200000)
/* The POWER and PowerPC assemblers use a few macros. We keep them
with the operands table for simplicity. The macro table is an
diff --git a/include/opcode/sparc.h b/include/opcode/sparc.h
index b1c5e42ad..7ae3641cf 100644
--- a/include/opcode/sparc.h
+++ b/include/opcode/sparc.h
@@ -99,7 +99,6 @@ typedef struct sparc_opcode
const char *args;
/* This was called "delayed" in versions before the flags. */
unsigned int flags;
- unsigned int hwcaps;
short architecture; /* Bitmask of sparc_opcode_arch_val's. */
} sparc_opcode;
@@ -111,39 +110,25 @@ typedef struct sparc_opcode
#define F_JSR 0x00000010 /* Subroutine call. */
#define F_FLOAT 0x00000020 /* Floating point instruction (not a branch). */
#define F_FBR 0x00000040 /* Floating point branch. */
-
-/* These must match the HWCAP_* values precisely. */
-#define HWCAP_MUL32 0x00000001 /* umul/umulcc/smul/smulcc insns */
-#define HWCAP_DIV32 0x00000002 /* udiv/udivcc/sdiv/sdivcc insns */
-#define HWCAP_FSMULD 0x00000004 /* 'fsmuld' insn */
-#define HWCAP_V8PLUS 0x00000008 /* v9 insns available to 32bit */
-#define HWCAP_POPC 0x00000010 /* 'popc' insn */
-#define HWCAP_VIS 0x00000020 /* VIS insns */
-#define HWCAP_VIS2 0x00000040 /* VIS2 insns */
-#define HWCAP_ASI_BLK_INIT \
- 0x00000080 /* block init ASIs */
-#define HWCAP_FMAF 0x00000100 /* fused multiply-add */
-#define HWCAP_VIS3 0x00000400 /* VIS3 insns */
-#define HWCAP_HPC 0x00000800 /* HPC insns */
-#define HWCAP_RANDOM 0x00001000 /* 'random' insn */
-#define HWCAP_TRANS 0x00002000 /* transaction insns */
-#define HWCAP_FJFMAU 0x00004000 /* unfused multiply-add */
-#define HWCAP_IMA 0x00008000 /* integer multiply-add */
-#define HWCAP_ASI_CACHE_SPARING \
- 0x00010000 /* cache sparing ASIs */
-#define HWCAP_AES 0x00020000 /* AES crypto insns */
-#define HWCAP_DES 0x00040000 /* DES crypto insns */
-#define HWCAP_KASUMI 0x00080000 /* KASUMI crypto insns */
-#define HWCAP_CAMELLIA 0x00100000 /* CAMELLIA crypto insns */
-#define HWCAP_MD5 0x00200000 /* MD5 hashing insns */
-#define HWCAP_SHA1 0x00400000 /* SHA1 hashing insns */
-#define HWCAP_SHA256 0x00800000 /* SHA256 hashing insns */
-#define HWCAP_SHA512 0x01000000 /* SHA512 hashing insns */
-#define HWCAP_MPMUL 0x02000000 /* Multiple Precision Multiply */
-#define HWCAP_MONT 0x04000000 /* Montgomery Mult/Sqrt */
-#define HWCAP_PAUSE 0x08000000 /* Pause insn */
-#define HWCAP_CBCOND 0x10000000 /* Compare and Branch insns */
-#define HWCAP_CRC32C 0x20000000 /* CRC32C insn */
+#define F_MUL32 0x00000100 /* umul/umulcc/smul/smulcc insns */
+#define F_DIV32 0x00000200 /* udiv/udivcc/sdiv/sdivcc insns */
+#define F_FSMULD 0x00000400 /* 'fsmuld' insn */
+#define F_V8PLUS 0x00000800 /* v9 insns available to 32bit */
+#define F_POPC 0x00001000 /* 'popc' insn */
+#define F_VIS 0x00002000 /* VIS insns */
+#define F_VIS2 0x00004000 /* VIS2 insns */
+#define F_ASI_BLK_INIT 0x00008000 /* block init ASIs */
+#define F_FMAF 0x00010000 /* fused multiply-add */
+#define F_VIS3 0x00020000 /* VIS3 insns */
+#define F_HPC 0x00040000 /* HPC insns */
+#define F_RANDOM 0x00080000 /* 'random' insn */
+#define F_TRANS 0x00100000 /* transaction insns */
+#define F_FJFMAU 0x00200000 /* unfused multiply-add */
+#define F_IMA 0x00400000 /* integer multiply-add */
+#define F_ASI_CACHE_SPARING \
+ 0x00800000 /* cache sparing ASIs */
+
+#define F_HWCAP_MASK 0x00ffff00
/* All sparc opcodes are 32 bits, except for the `set' instruction (really a
macro), which is 64 bits. It is handled as a special case.
@@ -223,9 +208,7 @@ typedef struct sparc_opcode
0 32/64 bit immediate for set or setx (v9) insns
_ Ancillary state register in rd (v9a)
/ Ancillary state register in rs1 (v9a)
- ( entire floating point state register (%efsr)
- ) 5 bit immediate placed in RS3 field
- = 2+8 bit PC relative immediate. (v9) */
+ ( entire floating point state register (%efsr). */
#define OP2(x) (((x) & 0x7) << 22) /* Op2 field of format2 insns. */
#define OP3(x) (((x) & 0x3f) << 19) /* Op3 field of format3 insns. */
diff --git a/include/opcode/tilegx.h b/include/opcode/tilegx.h
index c11fc1661..95a9ca7d2 100644
--- a/include/opcode/tilegx.h
+++ b/include/opcode/tilegx.h
@@ -34,8 +34,6 @@ typedef enum
TILEGX_OPC_BPT,
TILEGX_OPC_INFO,
TILEGX_OPC_INFOL,
- TILEGX_OPC_LD4S_TLS,
- TILEGX_OPC_LD_TLS,
TILEGX_OPC_MOVE,
TILEGX_OPC_MOVEI,
TILEGX_OPC_MOVELI,
diff --git a/include/opcode/tilepro.h b/include/opcode/tilepro.h
index 767926bda..91e2a2bdb 100644
--- a/include/opcode/tilepro.h
+++ b/include/opcode/tilepro.h
@@ -36,8 +36,6 @@ typedef enum
TILEPRO_OPC_INFOL,
TILEPRO_OPC_J,
TILEPRO_OPC_JAL,
- TILEPRO_OPC_LW_TLS,
- TILEPRO_OPC_LW_TLS_SN,
TILEPRO_OPC_MOVE,
TILEPRO_OPC_MOVE_SN,
TILEPRO_OPC_MOVEI,
diff --git a/include/opcode/xgate.h b/include/opcode/xgate.h
deleted file mode 100644
index 77a521f83..000000000
--- a/include/opcode/xgate.h
+++ /dev/null
@@ -1,120 +0,0 @@
-/* xgate.h -- Freescale XGATE opcode list
- Copyright 2010, 2011, 2012 Free Software Foundation, Inc.
- Written by Sean Keys (skeys@ipdatasys.com)
-
- This file is part of the GNU opcodes library.
-
- This library 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 3, or (at your option)
- any later version.
-
- It 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 file; see the file COPYING. If not, write to the
- Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston,
- MA 02110-1301, USA. */
-
-#ifndef _OPCODE_XGATE_H
-#define _OPCODE_XGATE_H
-
-/* XGATE CCR flag definitions. */
-#define XGATE_N_BIT 0x08 /* XGN - Sign Flag */
-#define XGATE_Z_BIT 0x04 /* XGZ - Zero Flag */
-#define XGATE_V_BIT 0x02 /* XGV - Overflow Flag */
-#define XGATE_C_BIT 0x01 /* XGC - Carry Flag */
-
-/* Access Detail Notation
- V — Vector fetch: always an aligned word read, lasts for at least one RISC core cycle
- P — Program word fetch: always an aligned word read, lasts for at least one RISC core cycle
- r — 8-bit data read: lasts for at least one RISC core cycle
- R — 16-bit data read: lasts for at least one RISC core cycle
- w — 8-bit data write: lasts for at least one RISC core cycle
- W — 16-bit data write: lasts for at least one RISC core cycle
- A — Alignment cycle: no read or write, lasts for zero or one RISC core cycles
- f — Free cycle: no read or write, lasts for one RISC core cycles. */
-#define XGATE_CYCLE_V 0x01
-#define XGATE_CYCLE_P 0x02
-#define XGATE_CYCLE_r 0x04
-#define XGATE_CYCLE_R 0x08
-#define XGATE_CYCLE_w 0x10
-#define XGATE_CYCLE_W 0x20
-#define XGATE_CYCLE_A 0x40
-#define XGATE_CYCLE_f 0x80
-
-/* Opcode format abbreviations. */
-#define XG_INH 0x0001 /* Inherent. */
-#define XG_I 0x0002 /* 3-bit immediate address. */
-#define XG_R_I 0x0004 /* Register followed by 4/8-bit immediate value. */
-#define XG_R_R 0x0008 /* Register followed by a register. */
-#define XG_R_R_R 0x0010 /* Register followed by two registers. */
-#define XG_R 0x0020 /* Single register. */
-#define XG_PC 0x0040 /* PC relative 10 or 11 bit. */
-#define XG_R_C 0x0080 /* General register followed by ccr register. */
-#define XG_C_R 0x0100 /* CCR register followed by a general register. */
-#define XG_R_P 0x0200 /* General register followed by pc register. */
-#define XG_R_R_I 0x0400 /* Two general registers followed by an immediate value. */
-#define XG_PCREL 0x0800 /* Immediate value that is relative to the current pc. */
-
-/* XGATE operand formats as stored in the XGATE_opcode table.
- They are only used by GAS to recognize operands. */
-#define XGATE_OP_INH ""
-#define XGATE_OP_TRI "r,r,r"
-#define XGATE_OP_DYA "r,r"
-#define XGATE_OP_IMM16 "r,if"
-#define XGATE_OP_IMM8 "r,i8"
-#define XGATE_OP_IMM4 "r,i4"
-#define XGATE_OP_IMM3 "i3"
-#define XGATE_OP_MON "r"
-#define XGATE_OP_MON_R_C "r,c"
-#define XGATE_OP_MON_C_R "c,r"
-#define XGATE_OP_MON_R_P "r,p"
-#define XGATE_OP_IDR "r,r,+"
-#define XGATE_OP_IDO5 "r,r,i5"
-#define XGATE_OP_REL9 "b9"
-#define XGATE_OP_REL10 "ba"
-#define XGATE_OP_DYA_MON "=r"
-/* Macro definitions. */
-#define XGATE_OP_IMM16mADD "r,if; addl addh"
-#define XGATE_OP_IMM16mAND "r,if; andl andh"
-#define XGATE_OP_IMM16mCPC "r,if; cmpl cpch"
-#define XGATE_OP_IMM16mSUB "r,if; subl subh"
-#define XGATE_OP_IMM16mLDW "r,if; ldl ldh"
-
-/* CPU variant identification. */
-#define XGATE_V1 0x1
-#define XGATE_V2 0x2
-#define XGATE_V3 0x4
-
-/* Max opcodes per opcode handle. */
-#define MAX_OPCODES 0x05
-
-#define MAX_DETECT_CHARS 0x10
-
-/* The opcode table definitions. */
-struct xgate_opcode
-{
- char * name; /* Op-code name. */
- char * constraints; /* Constraint chars. */
- char * format; /* Bit definitions. */
- unsigned int sh_format; /* Shorthand format mask. */
- unsigned int size; /* Opcode size in bytes. */
- unsigned int bin_opcode; /* Binary opcode with operands masked off. */
- unsigned char cycles_min; /* Minimum cpu cycles needed. */
- unsigned char cycles_max; /* Maximum cpu cycles needed. */
- unsigned char set_flags_mask; /* CCR flags set. */
- unsigned char clr_flags_mask; /* CCR flags cleared. */
- unsigned char chg_flags_mask; /* CCR flags changed. */
- unsigned char arch; /* CPU variant. */
-};
-
-/* The opcode table. The table contains all the opcodes (all pages).
- You can't rely on the order. */
-extern const struct xgate_opcode xgate_opcodes[];
-extern const int xgate_num_opcodes;
-
-#endif /* _OPCODE_XGATE_H */
diff --git a/include/plugin-api.h b/include/plugin-api.h
index 3220142dd..122424c6c 100644
--- a/include/plugin-api.h
+++ b/include/plugin-api.h
@@ -66,8 +66,7 @@ enum ld_plugin_output_file_type
{
LDPO_REL,
LDPO_EXEC,
- LDPO_DYN,
- LDPO_PIE
+ LDPO_DYN
};
/* An input file managed by the plugin library. */
diff --git a/include/splay-tree.h b/include/splay-tree.h
index a26135a09..480b2c43e 100644
--- a/include/splay-tree.h
+++ b/include/splay-tree.h
@@ -37,11 +37,18 @@ extern "C" {
#include "ansidecl.h"
-#ifdef HAVE_STDINT_H
-#include <stdint.h>
+#ifndef _WIN64
+ typedef unsigned long int libi_uhostptr_t;
+ typedef long int libi_shostptr_t;
+#else
+#ifdef __GNUC__
+ __extension__
#endif
-#ifdef HAVE_INTTYPES_H
-#include <inttypes.h>
+ typedef unsigned long long libi_uhostptr_t;
+#ifdef __GNUC__
+ __extension__
+#endif
+ typedef long long libi_shostptr_t;
#endif
#ifndef GTY
@@ -52,8 +59,8 @@ extern "C" {
these types, if necessary. These types should be sufficiently wide
that any pointer or scalar can be cast to these types, and then
cast back, without loss of precision. */
-typedef uintptr_t splay_tree_key;
-typedef uintptr_t splay_tree_value;
+typedef libi_uhostptr_t splay_tree_key;
+typedef libi_uhostptr_t splay_tree_value;
/* Forward declaration for a node in the tree. */
typedef struct splay_tree_node_s *splay_tree_node;
diff --git a/include/vms/ChangeLog b/include/vms/ChangeLog
index bb2dfebe8..788d8d80c 100644
--- a/include/vms/ChangeLog
+++ b/include/vms/ChangeLog
@@ -1,7 +1,3 @@
-2012-03-08 Tristan Gingold <gingold@adacore.com>
-
- * lbr.h (struct vms_lhd): Add comments.
-
2010-05-27 Tristan Gingold <gingold@adacore.com>
* lbr.h: Improve comments.
diff --git a/include/vms/lbr.h b/include/vms/lbr.h
index fd3c256ad..bdb436aa7 100644
--- a/include/vms/lbr.h
+++ b/include/vms/lbr.h
@@ -87,10 +87,7 @@ struct vms_lhd
unsigned char nextvbn[4];
/* Free pre-allocated index block. */
- /* Number of free blocks. */
unsigned char freidxblk[4];
- /* VBN of a simply linked list of free blocks. The list is terminated by a
- nul VBN. */
unsigned char freeidx[4];
/* Highest pre-allocated index block and in use. */
diff --git a/ltgcc.m4 b/ltgcc.m4
new file mode 100644
index 000000000..844e2bc16
--- /dev/null
+++ b/ltgcc.m4
@@ -0,0 +1,60 @@
+# _LT_LANG_GCJ_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Java Compiler compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'. Locally modified to
+# run its tests on C programs, because we cannot link Java programs until
+# we have finished building libjava.
+AC_DEFUN([_LT_LANG_GCJ_CONFIG],
+[AC_REQUIRE([LT_PROG_GCJ])dnl
+AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=c
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+GCC=yes
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+fi
+
+_LT_TAGVAR(compiler, $1)=${GCJ-gcj}
+AC_LANG_RESTORE
+])# _LT_LANG_GCJ_CONFIG
diff --git a/ltoptions.m4 b/ltoptions.m4
new file mode 100644
index 000000000..5ef12ced2
--- /dev/null
+++ b/ltoptions.m4
@@ -0,0 +1,369 @@
+# Helper functions for option handling. -*- Autoconf -*-
+#
+# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file 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.
+
+# serial 6 ltoptions.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
+
+
+# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
+# ------------------------------------------
+m4_define([_LT_MANGLE_OPTION],
+[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
+
+
+# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
+# ---------------------------------------
+# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
+# matching handler defined, dispatch to it. Other OPTION-NAMEs are
+# saved as a flag.
+m4_define([_LT_SET_OPTION],
+[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
+m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
+ _LT_MANGLE_DEFUN([$1], [$2]),
+ [m4_warning([Unknown $1 option `$2'])])[]dnl
+])
+
+
+# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
+# ------------------------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+m4_define([_LT_IF_OPTION],
+[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
+
+
+# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
+# -------------------------------------------------------
+# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
+# are set.
+m4_define([_LT_UNLESS_OPTIONS],
+[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+ [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
+ [m4_define([$0_found])])])[]dnl
+m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
+])[]dnl
+])
+
+
+# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
+# ----------------------------------------
+# OPTION-LIST is a space-separated list of Libtool options associated
+# with MACRO-NAME. If any OPTION has a matching handler declared with
+# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
+# the unknown option and exit.
+m4_defun([_LT_SET_OPTIONS],
+[# Set options
+m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+ [_LT_SET_OPTION([$1], _LT_Option)])
+
+m4_if([$1],[LT_INIT],[
+ dnl
+ dnl Simply set some default values (i.e off) if boolean options were not
+ dnl specified:
+ _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
+ ])
+ _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
+ ])
+ dnl
+ dnl If no reference was made to various pairs of opposing options, then
+ dnl we run the default mode handler for the pair. For example, if neither
+ dnl `shared' nor `disable-shared' was passed, we enable building of shared
+ dnl archives by default:
+ _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
+ _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
+ _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
+ _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
+ [_LT_ENABLE_FAST_INSTALL])
+ ])
+])# _LT_SET_OPTIONS
+
+
+## --------------------------------- ##
+## Macros to handle LT_INIT options. ##
+## --------------------------------- ##
+
+# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
+# -----------------------------------------
+m4_define([_LT_MANGLE_DEFUN],
+[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
+
+
+# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
+# -----------------------------------------------
+m4_define([LT_OPTION_DEFINE],
+[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
+])# LT_OPTION_DEFINE
+
+
+# dlopen
+# ------
+LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
+])
+
+AU_DEFUN([AC_LIBTOOL_DLOPEN],
+[_LT_SET_OPTION([LT_INIT], [dlopen])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `dlopen' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
+
+
+# win32-dll
+# ---------
+# Declare package support for building win32 dll's.
+LT_OPTION_DEFINE([LT_INIT], [win32-dll],
+[enable_win32_dll=yes
+
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
+ AC_CHECK_TOOL(AS, as, false)
+ AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+ AC_CHECK_TOOL(OBJDUMP, objdump, false)
+ ;;
+esac
+
+test -z "$AS" && AS=as
+_LT_DECL([], [AS], [1], [Assembler program])dnl
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
+])# win32-dll
+
+AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+_LT_SET_OPTION([LT_INIT], [win32-dll])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `win32-dll' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
+
+
+# _LT_ENABLE_SHARED([DEFAULT])
+# ----------------------------
+# implement the --enable-shared flag, and supports the `shared' and
+# `disable-shared' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_SHARED],
+[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([shared],
+ [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+ [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
+
+ _LT_DECL([build_libtool_libs], [enable_shared], [0],
+ [Whether or not to build shared libraries])
+])# _LT_ENABLE_SHARED
+
+LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
+])
+
+AC_DEFUN([AC_DISABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], [disable-shared])
+])
+
+AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_SHARED], [])
+dnl AC_DEFUN([AM_DISABLE_SHARED], [])
+
+
+
+# _LT_ENABLE_STATIC([DEFAULT])
+# ----------------------------
+# implement the --enable-static flag, and support the `static' and
+# `disable-static' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_STATIC],
+[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([static],
+ [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+ [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
+
+ _LT_DECL([build_old_libs], [enable_static], [0],
+ [Whether or not to build static libraries])
+])# _LT_ENABLE_STATIC
+
+LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
+])
+
+AC_DEFUN([AC_DISABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], [disable-static])
+])
+
+AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_STATIC], [])
+dnl AC_DEFUN([AM_DISABLE_STATIC], [])
+
+
+
+# _LT_ENABLE_FAST_INSTALL([DEFAULT])
+# ----------------------------------
+# implement the --enable-fast-install flag, and support the `fast-install'
+# and `disable-fast-install' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_FAST_INSTALL],
+[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([fast-install],
+ [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+ [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
+
+_LT_DECL([fast_install], [enable_fast_install], [0],
+ [Whether or not to optimize for fast installation])dnl
+])# _LT_ENABLE_FAST_INSTALL
+
+LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
+
+# Old names:
+AU_DEFUN([AC_ENABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `fast-install' option into LT_INIT's first parameter.])
+])
+
+AU_DEFUN([AC_DISABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `disable-fast-install' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
+dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
+
+
+# _LT_WITH_PIC([MODE])
+# --------------------
+# implement the --with-pic flag, and support the `pic-only' and `no-pic'
+# LT_INIT options.
+# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
+m4_define([_LT_WITH_PIC],
+[AC_ARG_WITH([pic],
+ [AS_HELP_STRING([--with-pic],
+ [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+ [pic_mode="$withval"],
+ [pic_mode=default])
+
+test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
+
+_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
+])# _LT_WITH_PIC
+
+LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
+
+# Old name:
+AU_DEFUN([AC_LIBTOOL_PICMODE],
+[_LT_SET_OPTION([LT_INIT], [pic-only])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `pic-only' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
+
+## ----------------- ##
+## LTDL_INIT Options ##
+## ----------------- ##
+
+m4_define([_LTDL_MODE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
+ [m4_define([_LTDL_MODE], [nonrecursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [recursive],
+ [m4_define([_LTDL_MODE], [recursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [subproject],
+ [m4_define([_LTDL_MODE], [subproject])])
+
+m4_define([_LTDL_TYPE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [installable],
+ [m4_define([_LTDL_TYPE], [installable])])
+LT_OPTION_DEFINE([LTDL_INIT], [convenience],
+ [m4_define([_LTDL_TYPE], [convenience])])
diff --git a/ltversion.m4 b/ltversion.m4
new file mode 100644
index 000000000..bf87f7713
--- /dev/null
+++ b/ltversion.m4
@@ -0,0 +1,23 @@
+# ltversion.m4 -- version numbers -*- Autoconf -*-
+#
+# Copyright (C) 2004 Free Software Foundation, Inc.
+# Written by Scott James Remnant, 2004
+#
+# This file 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.
+
+# Generated from ltversion.in.
+
+# serial 3134 ltversion.m4
+# This file is part of GNU Libtool
+
+m4_define([LT_PACKAGE_VERSION], [2.2.7a])
+m4_define([LT_PACKAGE_REVISION], [1.3134])
+
+AC_DEFUN([LTVERSION_VERSION],
+[macro_version='2.2.7a'
+macro_revision='1.3134'
+_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
+_LT_DECL(, macro_revision, 0)
+])
diff --git a/lt~obsolete.m4 b/lt~obsolete.m4
new file mode 100644
index 000000000..bf92b5e07
--- /dev/null
+++ b/lt~obsolete.m4
@@ -0,0 +1,98 @@
+# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
+#
+# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
+# Written by Scott James Remnant, 2004.
+#
+# This file 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.
+
+# serial 4 lt~obsolete.m4
+
+# These exist entirely to fool aclocal when bootstrapping libtool.
+#
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
+# which have later been changed to m4_define as they aren't part of the
+# exported API, or moved to Autoconf or Automake where they belong.
+#
+# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
+# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
+# using a macro with the same name in our local m4/libtool.m4 it'll
+# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
+# and doesn't know about Autoconf macros at all.)
+#
+# So we provide this file, which has a silly filename so it's always
+# included after everything else. This provides aclocal with the
+# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
+# because those macros already exist, or will be overwritten later.
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
+#
+# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
+# Yes, that means every name once taken will need to remain here until
+# we give up compatibility with versions before 1.7, at which point
+# we need to keep only those names which we still refer to.
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
+
+m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
+m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
+m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
+m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
+m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
+m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
+m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
+m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
+m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
+m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
+m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
+m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
+m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
+m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
+m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
+m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
+m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
+m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
+m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
+m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
+m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
+m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
+m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
+m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
+m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
+m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
+m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
+m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
+m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
+m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
+m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
+m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
+m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
+m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
+m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
+m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
+m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
+m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
+m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
+m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
+m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
+m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
+m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
+m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
+m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
+m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
+m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
+m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
+m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
+m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
+m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index cc8e7dccc..e16fe1273 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,232 +1,3 @@
-2012-08-09 Corinna Vinschen <vinschen@redhat.com>
-
- * libc/stdio/vfwprintf.c (_VFWPRINTF_R): Fix guard around state to
- allow usage in !FLOATING_POINT && _WANT_IO_C99_FORMATS case.
-
-2012-08-08 Eric Blake <eblake@redhat.com>
-
- * libc/posix/engine.c(dissect): Guard diagnostic pragma for right
- versions of GCC only.
- * libc/string/strcasestr.c: Ditto.
-
-2012-08-08 Corinna Vinschen <vinschen@redhat.com>
-
- Throughout, run newlib with -Wall -Werror option and fix bugs and
- compiler warnings found this way.
-
- * libc/stdio/freopen.c (_freopen_r): Fix bug setting _flags.
-
- * libc/include/stdio.h (_rename): Define when building newlib.
- * libc/include/sys/signal.h (_kill): Ditto.
- * libc/include/sys/stat.h (_mkdir): Ditto.
- * libc/include/sys/time.h (_gettimeofday): Ditto.
- * libc/include/sys/times.h (_times): Ditto.
- * libc/include/sys/wait.h (_wait): Ditto.
- * libc/locale/lmessages.c (empty): Don't define for Cygwin.
- * libc/locale/lmonetary.c (cnv): Ditto.
- * libc/locale/nl_langinfo.c (nl_langinfo): Ditto for variable s.
- * libc/posix/collate.c: Throughout cast to avoid compiler warning.
- * libc/posix/engine.c (matcher): Initialize dp to avoid compiler
- warning.
- (dissect): Deliberately silence gcc compiler warning. Add comment to
- explain why.
- * libc/posix/glob.c: Disable on Cygwin. Explain why.
- * libc/posix/regcomp.c: Fix "uninitialized" compiler warnings.
- * libc/posix/wordexp.c (wordexp): Remove num_bytes variable since result
- is never used.
- * libc/posix/popen.c (popen): Ditto for variable last.
- * libc/reent/mkdirr.c: Include sys/stat.h.
- * libc/reent/renamer.c: Include stdio.h.
- * libc/search/hash.c: Throughout use underscored variants of the stat
- function family.
- (init_hash): Add missing definition for the __USE_INTERNAL_STAT64 case.
- * libc/search/hash_bigkey.c (__big_insert): Add parenthesis to avoid
- compiler warning.
- * libc/search/hash_page.c (overflow_page): Initalize freep to NULL to
- avoid compiler warning.
- * libc/stdio/asiprintf.c (_asiprintf_r): Cast unsigned char * to char *
- to avoid compiler warning.
- (asiprintf): Ditto.
- * libc/stdio/asprintf.c (_asprintf_r): Ditto.
- (asprintf): Ditto.
- * libc/stdio/vasiprintf.c (_vasiprintf_r): Ditto.
- * libc/stdio/vasprintf.c (_vasprintf_r): Ditto.
- * libc/stdio/mktemp.c (_gettemp): Cast to unsigned char in call to
- isdigit to avoid compiler warning.
- * libc/stdio/vfprintf.c (_VFPRINTF_R): Initialize variables used for
- grouping to avoid compiler warning. Only define and set nseps and
- nrepeats if they are really used.
- * libc/stdio/vfwprintf.c (_VFWPRINTF_R): Ditto. Only define state if
- it is really used.
- * libc/stdio/vfscanf.c (u_char): Revert to be defined as unsigned char.
- (__SVFSCANF_R): Cast fmt in call to __mbtowc.
- * libc/stdlib/mbtowc_r.c (JIS_state_table): Disable when building
- Cygwin.
- (JIS_action_table): Ditto.
- * libc/stdlib/wctomb_r.c (__utf8_wctomb): Add parenthesis to avoid
- compiler warning.
- * libc/string/strcasestr.c: Deliberately silence gcc compiler warning.
- Add comment to explain why.
- * libc/time/strptime.c (strptime): Cast to unsigned char in calls to
- isspace to avoid compiler warning.
- * libm/math/e_atan2.c (__ieee754_atan2): Add parenthesis to avoid
- compiler warning.
- * libm/math/e_exp.c (__ieee754_exp): Initialize k to 0 to avoid
- compiler warning. Drop setting it to 0 later.
- * libm/math/ef_exp.c (__ieee754_expf): Ditto.
- * libm/math/e_pow.c (__ieee754_pow): Add braces to avoid compiler
- warning.
- * libm/math/ef_pow.c (__ieee754_powf): Ditto.
- * libm/math/er_lgamma.c (__ieee754_lgamma_r): Initialize nadj to 0 to
- avoid compiler warning.
- * libm/math/erf_lgamma.c (__ieee754_lgammaf_r): Ditto.
- * libm/math/e_rem_pio2.c (__ieee754_rem_pio2): Ditto for variable z.
- * libm/common/sf_round.c (roundf): Remove signbit variable since result
- is never used.
-
-2012-08-07 Corinna Vinschen <vinschen@redhat.com>
-
- * libc/stdlib/mprec.h (Storeinc): Add parenthesis to avoid compiler
- warning.
-
-2012-07-30 Kevin Buettner <kevinb@redhat.com>
-
- * libc/sys/sysnecv850/crt0.S (_start): Use v850e-specific
- start up code for v850e2 and v850e2v3 too.
-
-2012-07-20 Eric Blake <eblake@redhat.com>
-
- * libc/posix/readdir.c (readdir): Drop bogus attempt to catch
- bogus pointers.
-
-2012-07-18 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * libc/sys/rtems/machine/_types.h (_ssize_t): Use signed int for
- __v850__, __851__.
-
-2012-07-17 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * libc/search/hcreate_r.c (hdestroy_r): #ifdef 0 unused vars ie, idx.
-
-2012-07-16 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * libc/posix/telldir.c: Conditionally build dd_hash_lock.
-
-2012-07-13 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * libc/sys/rtems/machine/_types.h (_ssize_t): Add __ARM_EABI__,
- __v850__, __851__.
-
-2012-07-09 Corinna Vinschen <vinschen@redhat.com>
-
- * libc/stdio/fileno.c (fileno): Check if f is a valid stream. If not,
- return -1 and set errno to EBADF per POSIX.
-
-2012-07-06 Corinna Vinschen <vinschen@redhat.com>
-
- Allow building of Cygwin using Mingw64 SDK headers:
- * libc/include/sys/time.h: Drop _WINSOCK_H guard. Just use
- _TIMEVAL_DEFINED instead.
- * libc/include/sys/types.h: Check for _WINSOCKAPI_ along with
- _WINSOCK_H.
- * libc/include/sys/unistd.h: Ditto.
-
-2012-06-28 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
-
- * doc/Makefile.am (makedoc): Use LDFLAGS_FOR_BUILD not LDFLAGS.
- * doc/Makefile.in: Regenerate.
-
-2012-06-26 Christopher Faylor <me.newlib2012@cgf.cx>
-
- * libc/include/sys/types.h: Don't use the same preprocessor guard for
- time_t, timespec, and itimerspec. Add a separate guard specifically
- for timespec and always unconditionally define itimerspec.
-
-2012-06-05 Corinna Vinschen <vinschen@redhat.com>
-
- * libc/stdio/findfp.c (__sinit): Avoid infinite recursion on
- _REENT_SMALL targets. Add comment to explain.
-
-2012-05-31 Corinna Vinschen <vinschen@redhat.com>
-
- * libc/stdio/local.h (_newlib_sfp_lock_exit): Fix typo in non-pthread
- version.
-
-2012-05-30 Corinna Vinschen <vinschen@redhat.com>
-
- * libc/stdio/fgetws.c (_fgetws_r): Call _mbsnrtowcs_r rather than
- _mbsrtowcs_r and restrict number of wide chars to n - 1.
-
-2012-05-30 Corinna Vinschen <vinschen@redhat.com>
-
- * libc/stdio/local.h (_newlib_flockfile_start): New macro to
- secure stream related critical section against thread cancellation.
- (_newlib_flockfile_exit): Ditto.
- (_newlib_sfp_lock_end): Ditto.
- (_newlib_sfp_lock_start): Ditto for the list of streams.
- (_newlib_sfp_lock_exit): Ditto.
- (_newlib_sfp_lock_end): Ditto.
- Use aforementioned macros in place of _flockfile/_funlockfile
- and __sfp_lock_acquire/__sfp_lock_release throughout the code.
- * libc/stdio/fclose.c: Explicitely disable and re-enable thread
- cancellation. Explain why.
- * libc/stdio/freopen.c: Ditto.
- * libc/stdio64/freopen64.c: Ditto.
-
-2012-05-21 Sandeep Kumar Singh <Sandeep.Singh2@kpitcummins.com>
-
- * libc/machine/cr16/sys/asm.h: Added some missing instructions
- and removed few unsupported instructions of cr16 target.
-
-2012-05-10 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * libc/include/string.h (memrchr): Declare.
- * libc/string/Makefile.am (ELIX_4_SOURCES): Add memrchr.c.
- (CHEWOUT_FILES): Add memrchr.def.
- * libc/string/Makefile.in: Regenerate.
- * libc/string/memrchr.c: New file.
-
-2012-05-10 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libc/sys/rtems/machine/_types.h: Add Microblaze.
-
-2012-05-09 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * libc/sys/rtems/crt0.c: Add stubs for access(), ftruncate(),
- _getpid_r(), geteuid(), getgid, _getgid_r, getpid(), getppid(),
- and _getpid_r().
-
-2012-05-03 Greta Yorsh <Greta.Yorsh@arm.com>
-
- * testsuite/newlib.string/strcmp-1.c (LONG_TEST): New macro.
- (MAX_BLOCK_SIZE): Use small value when LONG_TEST is not set.
- (MAX_DIFF, MAX_LEN, MAX_ZEROS) Likewise.
-
-2012-03-29 Corinna Vinschen <vinschen@redhat.com>
-
- * libc/locale/locale.c (__mb_cur_max): On Cygwin, align default value
- with default UTF-8 charset.
-
-2012-03-26 Corinna Vinschen <vinschen@redhat.com>
-
- * libc/stdio/findfp.c (__sinit): Set __sdidinit last.
-
-2012-03-09 Jeff Johnston <jjohnstn@redhat.com>
-
- * libc/include/machine/setjmp-dj.h: Modify license to include
- modification in clause as permitted by DJ Delorie.
- * libc/machine/arm/access.c: Ditto.
- * libc/machine/i386/setjmp.S: Ditto.
- * libc/sys/h8300hms/sys/file.h: Ditto.
- * libc/sys/linux/machine/i386/setjmp.S: Ditto.
- * libc/sys/sysmec/access.c: Ditto.
- * libc/sys/sysnecv850/access.c: Ditto.
-
-2012-03-02 Jeff Johnston <jjohnstn@redhat.com>
-
- * libc/posix/readdir_r.c: Fix return code when end of
- directory is reached.
-
2012-02-23 Dan Egnor <egnor@ofb.net>
* configure.host: Accept "arm*" host spec instead of just "arm".
diff --git a/newlib/doc/Makefile.am b/newlib/doc/Makefile.am
index c86300780..5bf13599a 100644
--- a/newlib/doc/Makefile.am
+++ b/newlib/doc/Makefile.am
@@ -12,7 +12,7 @@ MKDOC = makedoc$(EXEEXT_FOR_BUILD)
# -Os, which CC_FOR_BUILD may not recognize.
$(MKDOC): makedoc.o
- $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $(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
diff --git a/newlib/doc/Makefile.in b/newlib/doc/Makefile.in
index b9e3ad361..62378354b 100644
--- a/newlib/doc/Makefile.in
+++ b/newlib/doc/Makefile.in
@@ -324,7 +324,7 @@ uninstall-am:
# -Os, which CC_FOR_BUILD may not recognize.
$(MKDOC): makedoc.o
- $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $(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
diff --git a/newlib/libc/include/machine/setjmp-dj.h b/newlib/libc/include/machine/setjmp-dj.h
index 6ca5e6526..9eb6bcf03 100644
--- a/newlib/libc/include/machine/setjmp-dj.h
+++ b/newlib/libc/include/machine/setjmp-dj.h
@@ -2,7 +2,7 @@
* Copyright (C) 1991 DJ Delorie
* All rights reserved.
*
- * Redistribution, modification, and use in source and binary forms is permitted
+ * Redistribution and use in source and binary forms is permitted
* provided that the above copyright notice and following paragraph are
* duplicated in all such forms.
*
diff --git a/newlib/libc/include/stdio.h b/newlib/libc/include/stdio.h
index 305e409b8..2912eafa9 100644
--- a/newlib/libc/include/stdio.h
+++ b/newlib/libc/include/stdio.h
@@ -227,9 +227,6 @@ int _EXFUN(sprintf, (char *, const char *, ...)
_ATTRIBUTE ((__format__ (__printf__, 2, 3))));
int _EXFUN(remove, (const char *));
int _EXFUN(rename, (const char *, const char *));
-#ifdef _COMPILING_NEWLIB
-int _EXFUN(_rename, (const char *, const char *));
-#endif
#endif
#if !defined(__STRICT_ANSI__) || defined(__USE_XOPEN2K)
#ifdef _COMPILING_NEWLIB
diff --git a/newlib/libc/include/string.h b/newlib/libc/include/string.h
index ef0402fb8..cd80ce76b 100644
--- a/newlib/libc/include/string.h
+++ b/newlib/libc/include/string.h
@@ -58,7 +58,6 @@ char *_EXFUN(index,(const char *, int));
_PTR _EXFUN(memccpy,(_PTR, const _PTR, int, size_t));
_PTR _EXFUN(mempcpy,(_PTR, const _PTR, size_t));
_PTR _EXFUN(memmem, (const _PTR, size_t, const _PTR, size_t));
-_PTR _EXFUN(memrchr,(const _PTR, int, size_t));
char *_EXFUN(rindex,(const char *, int));
char *_EXFUN(stpcpy,(char *, const char *));
char *_EXFUN(stpncpy,(char *, const char *, size_t));
diff --git a/newlib/libc/include/sys/signal.h b/newlib/libc/include/sys/signal.h
index 4e3be1ccf..881df8334 100644
--- a/newlib/libc/include/sys/signal.h
+++ b/newlib/libc/include/sys/signal.h
@@ -143,9 +143,6 @@ int _EXFUN(pthread_sigmask, (int how, const sigset_t *set, sigset_t *oset));
#undef sigfillset
#undef sigismember
-#ifdef _COMPILING_NEWLIB
-int _EXFUN(_kill, (pid_t, int));
-#endif
int _EXFUN(kill, (pid_t, int));
int _EXFUN(killpg, (pid_t, int));
int _EXFUN(sigaction, (int, const struct sigaction *, struct sigaction *));
diff --git a/newlib/libc/include/sys/stat.h b/newlib/libc/include/sys/stat.h
index fa2036dd3..f00caa661 100644
--- a/newlib/libc/include/sys/stat.h
+++ b/newlib/libc/include/sys/stat.h
@@ -170,10 +170,8 @@ int _EXFUN(futimens, (int, const struct timespec *));
#ifdef _COMPILING_NEWLIB
int _EXFUN(_fstat,( int __fd, struct stat *__sbuf ));
int _EXFUN(_stat,( const char *__path, struct stat *__sbuf ));
-int _EXFUN(_mkdir,( const char *_path, mode_t __mode ));
#ifdef __LARGE64_FILES
struct stat64;
-int _EXFUN(_stat64,( const char *__path, struct stat64 *__sbuf ));
int _EXFUN(_fstat64,( int __fd, struct stat64 *__sbuf ));
#endif
#endif
diff --git a/newlib/libc/include/sys/time.h b/newlib/libc/include/sys/time.h
index b388b2c5f..d48839f6e 100644
--- a/newlib/libc/include/sys/time.h
+++ b/newlib/libc/include/sys/time.h
@@ -12,7 +12,7 @@
extern "C" {
#endif
-#ifndef _TIMEVAL_DEFINED
+#ifndef _WINSOCK_H
#define _TIMEVAL_DEFINED
struct timeval {
time_t tv_sec;
@@ -28,7 +28,7 @@ struct timezone {
#include <cygwin/sys_time.h>
#endif /* __CYGWIN__ */
-#endif /* !_TIMEVAL_DEFINED */
+#endif /* _WINSOCK_H */
#define ITIMER_REAL 0
#define ITIMER_VIRTUAL 1
@@ -71,10 +71,6 @@ struct itimerval {
} while (0)
#endif /* defined (__rtems__) || defined (__CYGWIN__) */
-#ifdef _COMPILING_NEWLIB
-int _EXFUN(_gettimeofday, (struct timeval *__p, void *__tz));
-#endif
-
int _EXFUN(gettimeofday, (struct timeval *__p, void *__tz));
int _EXFUN(settimeofday, (const struct timeval *, const struct timezone *));
int _EXFUN(utimes, (const char *__path, const struct timeval *__tvp));
diff --git a/newlib/libc/include/sys/times.h b/newlib/libc/include/sys/times.h
index 927812cb8..9375cb19d 100644
--- a/newlib/libc/include/sys/times.h
+++ b/newlib/libc/include/sys/times.h
@@ -21,9 +21,6 @@ struct tms {
};
clock_t _EXFUN(times,(struct tms *));
-#ifdef _COMPILING_NEWLIB
-clock_t _EXFUN(_times,(struct tms *));
-#endif
#ifdef __cplusplus
}
diff --git a/newlib/libc/include/sys/types.h b/newlib/libc/include/sys/types.h
index ba24929f3..9723d92d3 100644
--- a/newlib/libc/include/sys/types.h
+++ b/newlib/libc/include/sys/types.h
@@ -109,22 +109,19 @@ typedef _CLOCK_T_ clock_t;
#ifndef __time_t_defined
typedef _TIME_T_ time_t;
#define __time_t_defined
-#endif
-#ifndef __timespec_defined
-#define __timespec_defined
/* Time Value Specification Structures, P1003.1b-1993, p. 261 */
struct timespec {
time_t tv_sec; /* Seconds */
long tv_nsec; /* Nanoseconds */
};
-#endif
struct itimerspec {
struct timespec it_interval; /* Timer period */
struct timespec it_value; /* Timer expiration */
};
+#endif
typedef long daddr_t;
typedef char * caddr_t;
@@ -210,7 +207,7 @@ typedef unsigned short nlink_t;
includes the W32api winsock[2].h header must know what it is doing;
it must not call the cygwin32 select function.
*/
-# if !(defined (_POSIX_SOURCE) || defined (_WINSOCK_H) || defined (_WINSOCKAPI_) || defined (__USE_W32_SOCKETS))
+# if !(defined (_POSIX_SOURCE) || defined (_WINSOCK_H) || defined (__USE_W32_SOCKETS))
# define _SYS_TYPES_FD_SET
# define NBBY 8 /* number of bits in a byte */
/*
@@ -247,7 +244,7 @@ typedef struct _types_fd_set {
*__tmp++ = 0; \
}))
-# endif /* !(defined (_POSIX_SOURCE) || defined (_WINSOCK_H) || defined (_WINSOCKAPI_) || defined (__USE_W32_SOCKETS)) */
+# endif /* !(defined (_POSIX_SOURCE) || defined (_WINSOCK_H) || defined (__USE_W32_SOCKETS)) */
#undef __MS_types__
#undef _ST_INT32
diff --git a/newlib/libc/include/sys/unistd.h b/newlib/libc/include/sys/unistd.h
index a5f66c0b7..6bae77483 100644
--- a/newlib/libc/include/sys/unistd.h
+++ b/newlib/libc/include/sys/unistd.h
@@ -233,7 +233,7 @@ int _EXFUN(truncate, (const char *, off_t __length));
int _EXFUN(getdtablesize, (void));
int _EXFUN(setdtablesize, (int));
useconds_t _EXFUN(ualarm, (useconds_t __useconds, useconds_t __interval));
-#if !(defined (_WINSOCK_H) || defined (_WINSOCKAPI_) || defined (__USE_W32_SOCKETS))
+#if !(defined (_WINSOCK_H) || defined (__USE_W32_SOCKETS))
/* winsock[2].h defines as __stdcall, and with int as 2nd arg */
int _EXFUN(gethostname, (char *__name, size_t __len));
#endif
diff --git a/newlib/libc/include/sys/wait.h b/newlib/libc/include/sys/wait.h
index 73fe37202..0e4a33945 100644
--- a/newlib/libc/include/sys/wait.h
+++ b/newlib/libc/include/sys/wait.h
@@ -29,10 +29,6 @@ extern "C" {
pid_t wait (int *);
pid_t waitpid (pid_t, int *, int);
-#ifdef _COMPILING_NEWLIB
-pid_t _wait (int *);
-#endif
-
/* Provide prototypes for most of the _<systemcall> names that are
provided in newlib for some compilers. */
pid_t _wait (int *);
diff --git a/newlib/libc/locale/lmessages.c b/newlib/libc/locale/lmessages.c
index 9fb1df4a9..33a4a5a21 100644
--- a/newlib/libc/locale/lmessages.c
+++ b/newlib/libc/locale/lmessages.c
@@ -35,9 +35,7 @@
#define LCMESSAGES_SIZE_MIN \
(offsetof(struct lc_messages_T, yesstr) / sizeof(char *))
-#ifndef __CYGWIN__
static char empty[] = "";
-#endif
static const struct lc_messages_T _C_messages_locale = {
"^[yY]" , /* yesexpr */
diff --git a/newlib/libc/locale/lmonetary.c b/newlib/libc/locale/lmonetary.c
index 80c2d0442..f1101a902 100644
--- a/newlib/libc/locale/lmonetary.c
+++ b/newlib/libc/locale/lmonetary.c
@@ -79,7 +79,6 @@ static struct lc_monetary_T _monetary_locale;
static int _monetary_using_locale;
static char *_monetary_locale_buf;
-#ifndef __CYGWIN__
static char
cnv(const char *str) {
int i = strtol(str, NULL, 10);
@@ -87,7 +86,6 @@ cnv(const char *str) {
i = CHAR_MAX;
return (char)i;
}
-#endif
int
__monetary_load_locale(const char *name , void *f_wctomb, const char *charset)
diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c
index 8e2b121bc..ee24872b2 100644
--- a/newlib/libc/locale/locale.c
+++ b/newlib/libc/locale/locale.c
@@ -188,11 +188,7 @@ No supporting OS subroutines are required.
#define _LC_LAST 7
#define ENCODING_LEN 31
-#ifdef __CYGWIN__ /* Cygwin starts with LC_CTYPE set to "C.UTF-8". */
-int __EXPORT __mb_cur_max = 6;
-#else
int __EXPORT __mb_cur_max = 1;
-#endif
int __nlocale_changed = 0;
int __mlocale_changed = 0;
diff --git a/newlib/libc/locale/nl_langinfo.c b/newlib/libc/locale/nl_langinfo.c
index 4b7e983f0..392a7cbbb 100644
--- a/newlib/libc/locale/nl_langinfo.c
+++ b/newlib/libc/locale/nl_langinfo.c
@@ -182,10 +182,7 @@ char *
_DEFUN(nl_langinfo, (item),
nl_item item) {
- char *ret, *cs;
-#ifndef __CYGWIN__
- char *s;
-#endif
+ char *ret, *s, *cs;
static char *csym = NULL;
#ifdef TRANSITION_PERIOD_HACK
static char *cset = NULL;
diff --git a/newlib/libc/machine/arm/access.c b/newlib/libc/machine/arm/access.c
index 980682ef3..8e08b3a7f 100644
--- a/newlib/libc/machine/arm/access.c
+++ b/newlib/libc/machine/arm/access.c
@@ -3,7 +3,7 @@
* Copyright (C) 1993 DJ Delorie
* All rights reserved.
*
- * Redistribution, modification, and use in source and binary forms is permitted
+ * Redistribution and use in source and binary forms is permitted
* provided that the above copyright notice and following paragraph are
* duplicated in all such forms.
*
diff --git a/newlib/libc/machine/cr16/sys/asm.h b/newlib/libc/machine/cr16/sys/asm.h
index cfc53e6f8..3618bec3b 100644
--- a/newlib/libc/machine/cr16/sys/asm.h
+++ b/newlib/libc/machine/cr16/sys/asm.h
@@ -1,6 +1,6 @@
/* asm.h -- CR16 architecture intrinsic functions
*
- * Copyright (c) 2012 National Semiconductor Corporation
+ * Copyright (c) 2004 National Semiconductor Corporation
*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
@@ -20,6 +20,14 @@
the user's responsibility to use the intrinsic functions with appropriate
immediate values. */
+/* Absolute Instructions */
+#define _absb_(src, dest) __asm__("absb %1, %0" : "=r" (dest) : \
+ "r" ((char)src) , "0" (dest))
+#define _absw_(src, dest) __asm__("absw %1,%0" : "=r" (dest) : \
+ "r" ((short)src) , "0" (dest))
+#define _absd_(src, dest) __asm__("absd %1, %0" : "=r" (dest) : \
+ "r" ((int)src) , "0" (dest))
+
/* Addition Instructions */
#define _addb_(src, dest) __asm__("addb %1, %0" : "=r" (dest) : \
"ri" ((unsigned char)src), "0" (dest) : "cc")
@@ -30,97 +38,166 @@
#define _adduw_(src, dest) __asm__("adduw %1, %0" : "=r" (dest) : \
"ri" ((unsigned short)src), "0" (dest) : "cc")
#define _addd_(src, dest) __asm__("addd %1, %0" : "=r" (dest) : \
- "ri" ((unsigned long)src), "0" (dest) : "cc")
-
+ "ri" ((unsigned int)src), "0" (dest) : "cc")
+#define _addud_(src, dest) __asm__("addud %1, %0" : "=r" (dest) : \
+ "ri" ((unsigned int)src), "0" (dest) : "cc")
/* Add with Carry */
#define _addcb_(src, dest) __asm__("addcb %1, %0" : "=r" (dest) : \
"ri" ((unsigned char)src), "0" (dest) : "cc")
#define _addcw_(src, dest) __asm__("addcw %1, %0" : "=r" (dest) : \
"ri" ((unsigned short)src), "0" (dest) : "cc")
-
+#define _addcd_(src, dest) __asm__("addcd %1, %0" : "=r" (dest) : \
+ "ri" ((unsigned int)src), "0" (dest) : "cc")
+/* Q-format Add */
+#define _addqb_(src, dest) __asm__("addqb %1, %0" : "=r" (dest) : \
+ "r" ((unsigned char)src), "0" (dest) : "cc")
+#define _addqw_(src, dest) __asm__("addqw %1, %0" : "=r" (dest) : \
+ "r" ((unsigned short)src), "0" (dest) : "cc")
+#define _addqd_(src, dest) __asm__("addqd %1, %0" : "=r" (dest) : \
+ "r" ((unsigned int)src), "0" (dest) : "cc")
+
/* Bitwise Logical AND */
-#define _andb_(src, dest) __asm__("andb %1,%0" : "=r" (dest) : \
- "ri" ((unsigned char)src) , "0" (dest))
-#define _andw_(src, dest) __asm__("andw %1,%0" : "=r" (dest) : \
- "ri" ((unsigned short)src) , "0" (dest))
-#define _andd_(src, dest) __asm__("andd %1,%0" : "=r" (dest) : \
- "ri" ((unsigned long)src) , "0" (dest))
-/* Arithmetic shift Instructions */
-#define _ashub_(count, dest) __asm__("ashub %1,%0" : "=r" (dest) : \
- "ri" ((char)count) , "0" (dest) )
-#define _ashuw_(count, dest) __asm__("ashuw %1,%0" : "=r" (dest) : \
- "ri" ((char)count) , "0" (dest) )
-#define _ashud_(count, dest) __asm__("ashud %1,%0" : "=r" (dest) : \
- "ri" ((char)count) , "0" (dest) )
+#define _andb_(src, dest) __asm__("andb %1,%0" : "=r" (dest) : \
+ "ri" ((unsigned char)src) , "0" (dest))
+#define _andw_(src, dest) __asm__("andw %1,%0" : "=r" (dest) : \
+ "ri" ((unsigned short)src) , "0" (dest))
+#define _andd_(src, dest) __asm__("andd %1,%0" : "=r" (dest) : \
+ "ri" ((unsigned int)src) , "0" (dest))
+/* bswap Instruction */
+#define _bswap_(src, dest) __asm__("bswap %1,%0" : "=r" (dest) : \
+ "r" ((unsigned int)src) , "0" (dest))
/* cbit (clear bit) Instructions */
-#define _cbitb_(pos, dest) __asm__("cbitb %1,%0" : "=mr" (dest) : \
- "i" ((unsigned char)pos) , "0" (dest) : "cc")
-#define _cbitw_(pos, dest) __asm__("cbitw %1,%0" : "=mr" (dest) : \
- "i" ((unsigned char)pos) , "0" (dest) : "cc")
+#define _cbitb_(pos, dest) __asm__("cbitb %1,%0" : "=mr" (dest) : \
+ "i" ((unsigned char)pos) , "0" (dest) : "cc")
+#define _cbitw_(pos, dest) __asm__("cbitw %1,%0" : "=mr" (dest) : \
+ "i" ((unsigned char)pos) , "0" (dest) : "cc")
+#define _cbitd_(pos, dest) __asm__("cbitd %1,%0" : "=r" (dest) : \
+ "i" ((unsigned char)pos) , "0" (dest) : "cc")
/* Compare Instructions */
-#define _cmpb_(src1, src2) __asm__("cmpb %0,%1" : /* no output */ : \
- "ri" ((unsigned char)src1) , "r" (src2) : "cc")
-#define _cmpw_(src1, src2) __asm__("cmpw %0,%1" : /* no output */ : \
- "ri" ((unsigned short)src1) , "r" (src2) : "cc")
-#define _cmpd_(src1, src2) __asm__("cmpd %0,%1" : /* no output */ : \
- "ri" ((unsigned long)src1) , "r" (src2) : "cc")
+#define _cmpb_(src1, src2) __asm__("cmpb %0,%1" : /* no output */ : \
+ "ri" ((unsigned char)src1) , "r" (src2) : "cc")
+#define _cmpw_(src1,src2) __asm__("cmpw %0,%1" : /* no output */ \
+ : "ri" ((unsigned short)src1) , "r" (src2) : "cc")
+#define _cmpd_(src1,src2) __asm__("cmpd %0,%1" : /* no output */ \
+ : "ri" ((unsigned int)src1) , "r" (src2) : "cc")
+
+/* cntl Count Leading Ones Instructions */
+#define _cntl1b_(src, dest) __asm__("cntl1b %1,%0" : "=r" (dest) : \
+ "r" ((char)src) , "0" (dest))
+#define _cntl1w_(src, dest) __asm__("cntl1w %1,%0" : "=r" (dest) : \
+ "r" ((short)src) , "0" (dest))
+#define _cntl1d_(src, dest) __asm__("cntl1d %1,%0" : "=r" (dest) : \
+ "r" ((int)src) , "0" (dest))
+
+/* cntl Count Leading Zeros Instructions */
+#define _cntl0b_(src, dest) __asm__("cntl0b %1,%0" : "=r" (dest) : \
+ "r" ((char)src) , "0" (dest))
+#define _cntl0w_(src, dest) __asm__("cntl0w %1,%0" : "=r" (dest) : \
+ "r" ((short)src) , "0" (dest))
+#define _cntl0d_(src, dest) __asm__("cntl0d %1,%0" : "=r" (dest) : \
+ "r" ((int)src) , "0" (dest))
+
+/* cntl Count Leading Signs Instructions */
+#define _cntlsb_(src, dest) __asm__("cntlsb %1,%0" : "=r" (dest) : \
+ "r" ((char)src) , "0" (dest))
+#define _cntlsw_(src, dest) __asm__("cntlsw %1,%0" : "=r" (dest) : \
+ "r" ((short)src) , "0" (dest))
+#define _cntlsd_(src, dest) __asm__("cntlsd %1,%0" : "=r" (dest) : \
+ "r" ((int)src) , "0" (dest))
/* Disable Inerrupts instructions */
-#define _di_() __asm__ volatile ("di\n" : : : "cc")
-#define _disable_() __asm__ volatile ("di\n" : : : "cc")
-#define _disable_interrupt_() _di_
+#define _di_() __asm__ volatile ("di\n" : : : "cc")
+#define _disable_() __asm__ volatile ("di\n" : : : "cc")
/* Enable Inerrupts instructions */
-#define _ei_() __asm__ volatile ("ei\n" : : : "cc")
-#define _enable_() __asm__ volatile ("ei\n" : : : "cc")
-#define _enable_interrupt_() _ei_
+#define _ei_() __asm__ volatile ("ei\n" : : : "cc")
+#define _enable_() __asm__ volatile ("ei\n" : : : "cc")
/* Enable Inerrupts instructions and Wait */
-#define _eiwait_() __asm__ volatile ("eiwait" : : : "cc")
+#define _eiwait_() __asm__ volatile ("eiwait" : : : "cc")
/* excp Instructions */
-#define _excp_(vector) __asm__ volatile ("excp " # vector)
-
-/* lpr and lprd Instructions */
-#define _lpr_(procreg, src) __asm__("lpr\t%0," procreg : \
- /* no output */ : "r" (src) : "cc")
-#define _lprd_(procregd, src) __asm__("lprd\t%0," procregd : \
- /* no output */ : "r" (src) : "cc")
-/* Left Shift Instructions */
-#define _lshb_(count, dest) __asm__("lshb %1,%0" : "=r" (dest) : \
- "ri" ((char)count) , "0" (dest) )
-#define _lshw_(count, dest) __asm__("lshw %1,%0" : "=r" (dest) : \
- "ri" ((char)count) , "0" (dest) )
-#define _lshd_(count, dest) __asm__("lshd %1,%0" : "=r" (dest) : \
- "ri" ((char)count) , "0" (dest) )
-
+#define _excp_(vector) __asm__ volatile ("excp " # vector)
+
+/* getpid Instruction */
+#define _getrfid_(dest) __asm__("getrfid %0" : "=r" (dest) : \
+ /* No input */ : "cc")
+
/* Load Instructions */
-#define _loadb_(base, dest) __asm__("loadb %1,%0" : "=r" (dest) : \
+#define _loadb_(base,dest) __asm__("loadb %1,%0" : "=r" (dest) : \
"m" (base) , "0" (dest))
-#define _loadw_(base, dest) __asm__("loadw %1,%0" : "=r" (dest) : \
- "m" (base) , "0" (dest))
-#define _loadd_(base, dest) __asm__("loadd %1,%0" : "=r" (dest) : \
+#define _loadw_(base,dest) __asm__("loadw %1,%0" : "=r" (dest) : \
+ "m" (base) , "0" (dest))
+#define _loadd_(base,dest) __asm__("loadd %1,%0" : "=r" (dest) : \
"m" (base) , "0" (dest))
/* Load Multiple Instructions */
-#define _loadm_(src, mask) __asm__("loadm %0,%1" : /* No output */ : \
+#define _loadm_(src, mask) __asm__("loadm %0,%1" : /* No output */ : \
"r" ((unsigned int)src) , "i" (mask))
-#define _loadmp_(src, mask) __asm__("loadmp %0,%1" : /* No output */ : \
+#define _loadmp_(src, mask) __asm__("loadmp %0,%1" : /* No output */ : \
"r" ((unsigned int)src) , "i" (mask))
/* Multiply Accumulate Instrutions */
-#define _macsw_(hi, lo, src1, src2) __asm__("macsw %1,%0" \
- : =l (lo), =h (hi) \
- : "r" ((short)src1) , "r" (src2))
-#define _macuw_(hi, lo, src1, src2) __asm__("macuw %1,%0" \
- : =l (lo), =h (hi) \
- : "r" ((unsigned short)src1) , "r" (src2))
-#define _macqw_(src1, src2) __asm__("macqw %1,%0" \
- : =l (lo), =h (hi) \
- :"r" ((short)src1) , "r" (src2))
+#define _macsb_(hi, lo, src1, src2) __asm__("macsb %1,%0" \
+ : =l (lo), =h (hi) \
+ : "r" ((char)src1) , "r" (src2))
+#define _macsw_(hi, lo, src1, src2) __asm__("macsw %1,%0" \
+ : =l (lo), =h (hi) \
+ : "r" ((short)src1) , "r" (src2))
+#define _macsd_(hi, lo, src1, src2) __asm__("macsd %1,%0" \
+ : =l (lo), =h (hi) \
+ : "r" ((int)src1) , "r" (src2))
+#define _macub_(hi, lo, src1, src2) __asm__("macub %1,%0" \
+ : =l (lo), =h (hi) \
+ :"r" ((unsigned char)src1) , "r" (src2))
+#define _macuw_(hi, lo, src1, src2) __asm__("macuw %1,%0" \
+ : =l (lo), =h (hi) \
+ : "r" ((unsigned short)src1) , "r" (src2))
+#define _macud_(hi, lo, src1, src2) __asm__("macud %1,%0" \
+ : =l (lo), =h (hi) \
+ : "r" ((unsigned int)src1) , "r" (src2))
+
+/* Q-Format Multiply Accumulate Instrutions */
+#define _macqb_(src1, src2) __asm__("macqb %1,%0" \
+ : =l (lo), =h (hi) \
+ :"r" ((char)src1) , "r" (src2))
+#define _macqw_(src1, src2) __asm__("macqw %1,%0" \
+ : =l (lo), =h (hi) \
+ :"r" ((short)src1) , "r" (src2))
+#define _macqd_(src1, src2) __asm__("macqd %1,%0" \
+ : =l (lo), =h (hi) \
+ :"r" ((int)src1) , "r" (src2))
+
+/* Maximum Instructions */
+#define _maxsb_(src, dest) __asm__("maxsb %1,%0" : "=r" (dest) : \
+ "r" ((char)src) , "0" (dest))
+#define _maxsw_(src, dest) __asm__("maxsw %1,%0" : "=r" (dest) : \
+ "r" ((short)src) , "0" (dest))
+#define _maxsd_(src, dest) __asm__("maxsd %1,%0" : "=r" (dest) : \
+ "r" ((int)src) , "0" (dest))
+#define _maxub_(src, dest) __asm__("maxub %1,%0" : "=r" (dest) : \
+ "r" ((unsigned char)src) , "0" (dest))
+#define _maxuw_(src, dest) __asm__("maxuw %1,%0" : "=r" (dest) : \
+ "r" ((unsigned short)src) , "0" (dest))
+#define _maxud_(src, dest) __asm__("maxud %1,%0" : "=r" (dest) : \
+ "r" ((unsigned int)src) , "0" (dest))
+
+/* Minimum Instructions */
+#define _minsb_(src, dest) __asm__("minsb %1,%0" : "=r" (dest) : \
+ "r" ((char)src) , "0" (dest))
+#define _minsw_(src, dest) __asm__("minsw %1,%0" : "=r" (dest) : \
+ "r" ((short)src) , "0" (dest))
+#define _minsd_(src, dest) __asm__("minsd %1,%0" : "=r" (dest) : \
+ "r" ((int)src) , "0" (dest))
+#define _minub_(src, dest) __asm__("minub %1,%0" : "=r" (dest) : \
+ "r" ((unsigned char)src) , "0" (dest))
+#define _minuw_(src, dest) __asm__("minuw %1,%0" : "=r" (dest) : \
+ "r" ((unsigned short)src) , "0" (dest))
+#define _minud_(src, dest) __asm__("minud %1,%0" : "=r" (dest) : \
+ "r" ((unsigned int)src) , "0" (dest))
/* Move Instructions */
#define _movb_(src, dest) __asm__("movb %1,%0" : "=r" (dest) : \
@@ -129,59 +206,152 @@
"ri" ((unsigned short)src) , "0" (dest))
#define _movd_(src, dest) __asm__("movd %1,%0" : "=r" (dest) : \
"ri" ((unsigned int)src) , "0" (dest))
-#define _movxb_(src, dest) __asm__("movxb %1,%0" : "=r" (dest) : \
- "r" (src), "0" (dest) )
-#define _movzb_(src, dest) __asm__("movzb %1,%0" : "=r" (dest) : \
- "r" (src), "0" (dest) )
-#define _movxw_(src, dest) __asm__("movxw %1,%0" : "=r" (dest) : \
- "r" (src), "0" (dest) )
-#define _movzw_(src, dest) __asm__("movzw %1,%0" : "=r" (dest) : \
- "r" (src), "0" (dest) )
-
+
+/* mtpr and mfpr Insturctions */
+#define _mtpr_(procregd, src) __asm__("mtpr\t%0," procregd : /* no output */ : \
+ "r" (src) : "cc")
+#define _mfpr_(procregd, dest) __asm__("mfpr\t" procregd ",%0" : "=r" (dest) : \
+ /* no input */ "0" (dest) : "cc")
+
/* Multiplication Instructions */
+#define _mulsbw_(src, dest) __asm__("mulsbw %1,%0" : "=r" (dest) : \
+ "r" ((char)src) , "0" (dest))
+#define _mulubw_(src, dest) __asm__("mulubw %1,%0" : "=r" (dest) : \
+ "r" ((unsigned char)src) , "0" (dest))
+#define _mulswd_(src, dest) __asm__("mulswd %1,%0" : "=r" (dest) : \
+ "r" ((short)src) , "0" (dest))
+#define _muluwd_(src, dest) __asm__("muluwd %1,%0" : "=r" (dest) : \
+ "r" ((unsigned short)src) , "0" (dest))
#define _mulb_(src, dest) __asm__("mulb %1,%0" : "=r" (dest) : \
"ri" ((char)src) , "0" (dest))
#define _mulw_(src, dest) __asm__("mulw %1,%0" : "=r" (dest) : \
"ri" ((short)src) , "0" (dest))
-#define _mulsb_(src, dest) __asm__("mulsb %1,%0" : "=r" (dest) : \
+#define _muld_(src, dest) __asm__("muld %1,%0" : "=r" (dest) : \
+ "ri" ((int)src) , "0" (dest))
+#define _mullsd_(hi, lo, src1, src2) __asm__("mullsd %2,%3" \
+ : =l (lo), =h (hi) \
+ : "r" ((unsigned int)src1) , "r" ((unsigned int)src2))
+#define _mullud_(hi, lo, src1, src2) __asm__("mullud %2,%3" \
+ : =l (lo), =h (hi) \
+ : "r" ((int)src1) , "r" ((int)src2))
+
+/* Q-Format Multiplication Instructions */
+#define _mulqb_(src, dest) __asm__("mulqb %1,%0" : "=r" (dest) : \
"r" ((char)src) , "0" (dest))
-#define _mulsw_(src, dest) __asm__("mulsw %1,%0" : "=r" (dest) : \
+#define _mulqw_(src, dest) __asm__("mulqw %1,%0" : "=r" (dest) : \
"r" ((short)src) , "0" (dest))
-#define _muluw_(src, dest) __asm__("muluw %1,%0" : "=r" (dest) : \
- "r" ((unsigned short)src) , "0" (dest))
/* nop Instruction */
-#define _nop_() __asm__("nop")
+#define _nop_() __asm__("nop")
+
+/* Negate Instructions */
+#define _negb_(src, dest) __asm__("negb %1,%0" : "=r" (dest) : \
+ "r" ((char)src) , "0" (dest))
+#define _negw_(src, dest) __asm__("negw %1,%0" : "=r" (dest) : \
+ "r" ((short)src) , "0" (dest))
+#define _negd_(src, dest) __asm__("negd %1,%0" : "=r" (dest) : \
+ "r" ((int)src) , "0" (dest))
/* or Instructions */
#define _orb_(src, dest) __asm__("orb %1,%0" : "=r" (dest) : \
- "ri" ((unsigned char)src) , "0" (dest))
+ "ri" ((unsigned char)src) , "0" (dest))
#define _orw_(src, dest) __asm__("orw %1,%0" : "=r" (dest) : \
- "ri" ((unsigned short)src) , "0" (dest))
+ "ri" ((unsigned short)src) , "0" (dest))
#define _ord_(src, dest) __asm__("ord %1,%0" : "=r" (dest) : \
- "ri" ((unsigned int)src) , "0" (dest))
+ "ri" ((unsigned int)src) , "0" (dest))
+
+/* Pop 1's Count Instructions */
+#define _popcntb_(src, dest) __asm__("popcntb %1,%0" : "=r" (dest) : \
+ "r" ((char)src) , "0" (dest))
+#define _popcntw_(src, dest) __asm__("popcntw %1,%0" : "=r" (dest) : \
+ "r" ((short)src) , "0" (dest))
+#define _popcntd_(src, dest) __asm__("popcntd %1,%0" : "=r" (dest) : \
+ "r" ((int)src) , "0" (dest))
+
+/* Rotate and Mask Instructions */
+#define _ram_(shift, end, begin, dest, src) __asm__("ram %1, %2, %3, %0, %4" : \
+ "=r" (dest) : \
+ "i" ((unsigned char) shift), \
+ "i" (end), "i" (begin), \
+ "r" (src), "0" (dest))
+#define _rim_(shift, end, begin, dest, src) __asm__("rim %1, %2, %3, %0, %4" : \
+ "=r" (dest) : \
+ "i" ((unsigned char) shift), \
+ "i" (end), "i" (begin), \
+ "r" (src), "0" (dest))
/* retx Instruction */
-#define _retx_() __asm__("retx")
+#define _retx_() __asm__("retx")
+
+/* Rotate Instructions */
+#define _rotb_(shift, dest) __asm__("rotb %1,%0" : "=r" (dest) : \
+ "i" ((unsigned char)shift) , "0" (dest))
+#define _rotw_(shift, dest) __asm__("rotw %1,%0" : "=r" (dest) : \
+ "i" ((unsigned char)shift) , "0" (dest))
+#define _rotd_(shift, dest) __asm__("rotd %1,%0" : "=r" (dest) : \
+ "i" ((unsigned char)shift) , "0" (dest))
+#define _rotlb_(shift, dest) __asm__("rotlb %1,%0" : "=r" (dest) : \
+ "r" ((unsigned char)shift) , "0" (dest))
+#define _rotlw_(shift, dest) __asm__("rotlw %1,%0" : "=r" (dest) : \
+ "r" ((unsigned char)shift) , "0" (dest))
+#define _rotld_(shift, dest) __asm__("rotld %1,%0" : "=r" (dest) : \
+ "r" ((unsigned char)shift) , "0" (dest))
+#define _rotrb_(shift, dest) __asm__("rotrb %1,%0" : "=r" (dest) : \
+ "r" ((unsigned char)shift) , "0" (dest))
+#define _rotrw_(shift, dest) __asm__("rotrw %1,%0" : "=r" (dest) : \
+ "r" ((unsigned char)shift) , "0" (dest))
+#define _rotrd_(shift, dest) __asm__("rotrd %1,%0" : "=r" (dest) : \
+ "r" ((unsigned char)shift) , "0" (dest))
/* Set Bit Instructions */
-#define _sbitb_(pos, dest) __asm__("sbitb %1,%0" : "=mr" (dest) : \
- "i" ((unsigned char)pos) , "0" (dest) : "cc")
-#define _sbitw_(pos, dest) __asm__("sbitw %1,%0" : "=mr" (dest) : \
- "i" ((unsigned char)pos) , "0" (dest) : "cc")
-
-/* spr and sprd Instructions */
-#define _spr_(procreg, dest) __asm__("spr\t" procreg ",%0" : \
- "=r" (dest) : /* no input */ "0" (dest) : "cc")
-#define _sprd_(procregd, dest) __asm__("sprd\t" procregd ",%0" : \
- "=r" (dest) : /* no input */ "0" (dest) : "cc")
+#define _sbitb_(pos,dest) __asm__("sbitb %1,%0" : "=mr" (dest) : \
+ "i" ((unsigned char)pos) , "0" (dest) : "cc")
+#define _sbitw_(pos,dest) __asm__("sbitw %1,%0" : "=mr" (dest) : \
+ "i" ((unsigned char)pos) , "0" (dest) : "cc")
+#define _sbitd_(pos,dest) __asm__("sbitd %1,%0" : "=mr" (dest) : \
+ "i" ((unsigned char)pos) , "0" (dest) : "cc")
+
+/* setrfid Instruction */
+#define _setrfid_(src) __asm__("setrfid %0" : /* No output */ : \
+ "r" (src) : "cc")
+
+/* Sign Extend Instructions */
+#define _sextbw_(src, dest) __asm__("sextbw %1,%0" : "=r" (dest) : \
+ "r" ((char)src) , "0" (dest) )
+#define _sextbd_(src, dest) __asm__("sextbd %1,%0" : "=r" (dest) : \
+ "r" ((char)src) , "0" (dest) )
+#define _sextwd_(src, dest) __asm__("sextwd %1,%0" : "=r" (dest) : \
+ "r" ((short)src) , "0" (dest) )
+
+/* Shift Left Logical Instructions */
+#define _sllb_(src, dest) __asm__("sllb %1,%0" : "=r" (dest) : \
+ "ri" ((unsigned char)src) , "0" (dest))
+#define _sllw_(src, dest) __asm__("sllw %1,%0" : "=r" (dest) : \
+ "ri" ((unsigned char)src) , "0" (dest))
+#define _slld_(src, dest) __asm__("slld %1,%0" : "=r" (dest) : \
+ "ri" ((unsigned char)src) , "0" (dest))
+/* Shift Right Arithmetic Instructions */
+#define _srab_(src, dest) __asm__("srab %1,%0" : "=r" (dest) : \
+ "ri" ((unsigned char)src) , "0" (dest))
+#define _sraw_(src, dest) __asm__("sraw %1,%0" : "=r" (dest) : \
+ "ri" ((unsigned char)src) , "0" (dest))
+#define _srad_(src, dest) __asm__("srad %1,%0" : "=r" (dest) : \
+ "ri" ((unsigned char)src) , "0" (dest))
+/* Shift Right Logical Instructions */
+#define _srlb_(src, dest) __asm__("srlb %1,%0" : "=r" (dest) : \
+ "ri" ((unsigned char)src) , "0" (dest))
+#define _srlw_(src, dest) __asm__("srlw %1,%0" : "=r" (dest) : \
+ "ri" ((unsigned char)src) , "0" (dest))
+#define _srld_(src, dest) __asm__("srld %1,%0" : "=r" (dest) : \
+ "ri" ((unsigned char)src) , "0" (dest))
+
/* Store Instructions */
-#define _storb_(src, address) __asm__("storb %1,%0" : "=m" (address) : \
+#define _storb_(src,address) __asm__("storb %1,%0" : "=m" (address) : \
"ri" ((unsigned int)src))
-#define _storw_(src, address) __asm__("storw %1,%0" : "=m" (address) : \
+#define _storw_(src,address) __asm__("storw %1,%0" : "=m" (address) : \
"ri" ((unsigned int)src))
-#define _stord_(src, address) __asm__("stord %1,%0" : "=m" (address) : \
+#define _stord_(src,address) __asm__("stord %1,%0" : "=m" (address) : \
"ri" ((unsigned int)src))
/* Store Multiple Instructions */
@@ -191,90 +361,61 @@
"i" (mask) , "r" ((unsigned int)src))
/* Substruct Instructions */
-#define _subb_(src, dest) __asm__("subb %1, %0" : "=r" (dest) : \
- "ri" ((unsigned char)src), "0" (dest) : "cc")
-#define _subw_(src, dest) __asm__("subw %1, %0" : "=r" (dest) : \
- "ri" ((unsigned short)src), "0" (dest) : "cc")
-#define _subd_(src, dest) __asm__("subd %1, %0" : "=r" (dest) : \
- "ri" ((unsigned long)src), "0" (dest) : "cc")
+#define _subb_(src, dest) __asm__("subb %1, %0" : "=r" (dest) : \
+ "ri" ((unsigned char)src), "0" (dest) : "cc")
+#define _subw_(src, dest) __asm__("subw %1, %0" : "=r" (dest) : \
+ "ri" ((unsigned short)src), "0" (dest) : "cc")
+#define _subd_(src, dest) __asm__("subd %1, %0" : "=r" (dest) : \
+ "ri" ((unsigned int)src), "0" (dest) : "cc")
/* Substruct with Carry Instructions */
-#define _subcb_(src, dest) __asm__("subcb %1, %0" : "=r" (dest) : \
- "ri" ((unsigned char)src), "0" (dest) : "cc")
-#define _subcw_(src, dest) __asm__("subcw %1, %0" : "=r" (dest) : \
- "ri" ((unsigned short)src), "0" (dest) : "cc")
-
+#define _subcb_(src, dest) __asm__("subcb %1, %0" : "=r" (dest) : \
+ "ri" ((unsigned char)src), "0" (dest) : "cc")
+#define _subcw_(src, dest) __asm__("subcw %1, %0" : "=r" (dest) : \
+ "ri" ((unsigned short)src), "0" (dest) : "cc")
+#define _subcd_(src, dest) __asm__("subcd %1, %0" : "=r" (dest) : \
+ "ri" ((unsigned int)src), "0" (dest) : "cc")
+
+/* Q-Format Substruct Instructions */
+#define _subqb_(src, dest) __asm__("subqw %1,%0" : "=r" (dest) : \
+ "r" ((char)src) , "0" (dest))
+#define _subqw_(src, dest) __asm__("subqw %1,%0" : "=r" (dest) : \
+ "r" ((short)src) , "0" (dest))
+#define _subqd_(src, dest) __asm__("subqd %1,%0" : "=r" (dest) : \
+ "r" ((short)src) , "0" (dest))
+
/* Test Bit Instructions */
-#define _tbit_(offset, base) __asm__("tbit %0,%1" : /* no output */ : \
- "ri" ((unsigned char)offset) , "r" (base) : "cc")
-#define _tbitb_(pos, dest) __asm__("tbitb %0,%1" : /* No output */ : \
- "i" ((unsigned char)pos) , "m" (dest) : "cc")
-#define _tbitw_(pos, dest) __asm__("tbitw %0,%1" : /* No output */ : \
- "i" ((unsigned char)pos) , "m" (dest) : "cc")
+#define _tbitb_(pos,dest) __asm__("tbitb %0,%1" : /* No output */ : \
+ "i" ((unsigned char)pos) , "rm" (dest) : "cc")
+#define _tbitw_(pos,dest) __asm__("tbitw %0,%1" : /* No output */ : \
+ "i" ((unsigned char)pos) , "rm" (dest) : "cc")
+#define _tbitd_(pos,dest) __asm__("tbitd %0,%1" : /* No output */ : \
+ "i" ((unsigned char)pos) , "rm" (dest) : "cc")
/* wait Instruction*/
#define _wait_() __asm__ volatile ("wait" : : : "cc")
/* xor Instructions */
#define _xorb_(src, dest) __asm__("xorb %1,%0" : "=r" (dest) : \
- "ri" ((unsigned char)src) , "0" (dest))
+ "ri" ((unsigned char)src) , "0" (dest))
#define _xorw_(src, dest) __asm__("xorw %1,%0" : "=r" (dest) : \
- "ri" ((unsigned short)src) , "0" (dest))
+ "ri" ((unsigned short)src) , "0" (dest))
#define _xord_(src, dest) __asm__("xord %1,%0" : "=r" (dest) : \
- "ri" ((unsigned long)src) , "0" (dest))
-
-#if !defined (__CR16C__)
-#define _di_() __asm__ volatile ("di\n" : : : "cc")
-#else
-/* In CR16C architecture the "nop" instruction is required after the di instruction
- in order to be sure the interrupts are indeed disabled.
- For details, refer the the CR16C Programmers Reference Manual. */
-#define _di_() __asm__ volatile ("di\n\tnop" : : : "cc")
-#endif
-
-/* mtgpr Instruction */
-#define _mtgpr_(src, gpr) \
-__asm__ volatile ("movd\t%[_src], " gpr : /* no output */ \
- : [_src] "ri" (src) \
- : gpr )
-
-/* mfgpr Instruction */
-#define _mfgpr_(gpr, dest) \
-__asm__ volatile ("movd\t" gpr ", %[_dest]" : [_dest] "=r" (dest) \
- : /* no inputs */ )
-
-/* set_i_bit Operation Definition */
-#define set_i_bit() \
- do \
- { \
- unsigned short tpsr; \
- _spr_("psr", tpsr); \
- tpsr |= 0x0800; \
- _lpr_("psr",tpsr); \
- } while(0)
-
-/* set_i_bit Macro Definition */
-#define _enable_global_interrupt_ set_i_bit
-
-/* clear_i_bit Operation Definition */
-#define clear_i_bit() \
- do \
- { \
- unsigned short tpsr; \
- _spr_("psr", tpsr); \
- tpsr &= 0xf7ff; \
- _lpr_("psr",tpsr); \
- } while(0)
-
-/* clear_i_bit Macro Definition */
-#define _disbale_global_interrupt_ clear_i_bit
-
-#define _save_asm_(x) \
- __asm__ volatile (x ::: "memory","cc", \
- "r0","r1","r2","r3","r4","r5","r6","r7", \
+ "ri" ((unsigned int)src) , "0" (dest))
+
+/* Zero Extend Instructions */
+#define _zextbw_(src, dest) __asm__("zextbw %1,%0" : "=r" (dest) : \
+ "r" ((unsigned char)src) , "0" (dest))
+#define _zextbd_(src, dest) __asm__("zextbd %1,%0" : "=r" (dest) : \
+ "r" ((unsigned char)src) , "0" (dest))
+#define _zextwd_(src, dest) __asm__("zextwd %1,%0" : "=r" (dest) : \
+ "r" ((unsigned short)src) , "0" (dest))
+
+#define _save_asm_(x) \
+ __asm__ volatile (x ::: "memory","cc", \
+ "r0","r1","r2","r3","r4","r5","r6","r7", \
"r8","r9","r10","r11","r12","r13")
#endif /* _ASM */
-
diff --git a/newlib/libc/machine/epiphany/Makefile.am b/newlib/libc/machine/epiphany/Makefile.am
new file mode 100644
index 000000000..6e95d8fc8
--- /dev/null
+++ b/newlib/libc/machine/epiphany/Makefile.am
@@ -0,0 +1,42 @@
+## Copyright (c) 2011, Adapteva, Inc.
+## All rights reserved.
+
+## Redistribution and use in source and binary forms, with or without
+## modification, are permitted provided that the following conditions are met:
+## * Redistributions of source code must retain the above copyright notice,
+## this list of conditions and the following disclaimer.
+## * 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.
+## * Neither the name of Adapteva 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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.
+
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+AM_CCASFLAGS = $(INCLUDES)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S
+lib_a_CCASFLAGS=$(AM_CCASFLAGS)
+lib_a_CFLAGS = $(AM_CFLAGS)
+
+ACLOCAL_AMFLAGS = -I ../../.. -I ../../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/machine/epiphany/Makefile.in b/newlib/libc/machine/epiphany/Makefile.in
new file mode 100644
index 000000000..a5c1f558f
--- /dev/null
+++ b/newlib/libc/machine/epiphany/Makefile.in
@@ -0,0 +1,413 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = .
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/configure $(am__configure_deps) \
+ $(srcdir)/../../../../mkinstalldirs
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/../../../acinclude.m4 \
+ $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+ARFLAGS = cru
+lib_a_AR = $(AR) $(ARFLAGS)
+lib_a_LIBADD =
+am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT)
+lib_a_OBJECTS = $(am_lib_a_OBJECTS)
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp =
+am__depfiles_maybe =
+CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(lib_a_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCAS = @CCAS@
+CCASFLAGS = @CCASFLAGS@
+CCDEPMODE = @CCDEPMODE@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+NO_INCLUDE_LIST = @NO_INCLUDE_LIST@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+READELF = @READELF@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+aext = @aext@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+libm_machine_dir = @libm_machine_dir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lpfx = @lpfx@
+machine_dir = @machine_dir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+newlib_basedir = @newlib_basedir@
+oext = @oext@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sys_dir = @sys_dir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AUTOMAKE_OPTIONS = cygnus
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+AM_CCASFLAGS = $(INCLUDES)
+noinst_LIBRARIES = lib.a
+lib_a_SOURCES = setjmp.S
+lib_a_CCASFLAGS = $(AM_CCASFLAGS)
+lib_a_CFLAGS = $(AM_CFLAGS)
+ACLOCAL_AMFLAGS = -I ../../.. -I ../../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .S .o .obj
+am--refresh:
+ @:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --cygnus'; \
+ $(am__cd) $(srcdir) && $(AUTOMAKE) --cygnus \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --cygnus Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ echo ' $(SHELL) ./config.status'; \
+ $(SHELL) ./config.status;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ $(am__cd) $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(lib_a_AR) lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+.S.o:
+ $(CPPASCOMPILE) -c -o $@ $<
+
+.S.obj:
+ $(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+lib_a-setjmp.o: setjmp.S
+ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CCASFLAGS) $(CCASFLAGS) -c -o lib_a-setjmp.o `test -f 'setjmp.S' || echo '$(srcdir)/'`setjmp.S
+
+lib_a-setjmp.obj: setjmp.S
+ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CCASFLAGS) $(CCASFLAGS) -c -o lib_a-setjmp.obj `if test -f 'setjmp.S'; then $(CYGPATH_W) 'setjmp.S'; else $(CYGPATH_W) '$(srcdir)/setjmp.S'; fi`
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+check-am:
+check: check-am
+all-am: Makefile $(LIBRARIES)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
+
+distclean: distclean-am
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf $(top_srcdir)/autom4te.cache
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
+ clean-generic clean-noinstLIBRARIES ctags distclean \
+ distclean-compile distclean-generic distclean-tags dvi dvi-am \
+ html html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+ uninstall-am
+
+
+# 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/epiphany/aclocal.m4 b/newlib/libc/machine/epiphany/aclocal.m4
new file mode 100644
index 000000000..f4337cf8d
--- /dev/null
+++ b/newlib/libc/machine/epiphany/aclocal.m4
@@ -0,0 +1,992 @@
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+# This file 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.
+
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
+[m4_warning([this file was generated for autoconf 2.68.
+You have another version of autoconf. It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
+
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.11'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version. Point them to the right macro.
+m4_if([$1], [1.11.1], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too. Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.11.1])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
+# Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 9
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
+# Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 10
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery. Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
+ [$1], CXX, [depcc="$CXX" am_compiler_list=],
+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], UPC, [depcc="$UPC" am_compiler_list=],
+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+ [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_$1_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+ fi
+ am__universal=false
+ m4_case([$1], [CC],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac],
+ [CXX],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac])
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_$1_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+])
+
+# Generate code to set up dependency tracking. -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file 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.
+
+#serial 5
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[{
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+ done
+}
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled. FIXME. This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Do all the work for Automake. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 16
+
+# 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.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out. PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.62])dnl
+dnl Autoconf wants to disallow AM_ names. We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES(CC)],
+ [define([AC_PROG_CC],
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+ [_AM_DEPENDENCIES(OBJC)],
+ [define([AC_PROG_OBJC],
+ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
+dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
+dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
+dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+ [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+])
+
+dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
+# From Jim Meyering
+
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 5
+
+# AM_MAINTAINER_MODE([DEFAULT-MODE])
+# ----------------------------------
+# Control maintainer-specific portions of Makefiles.
+# Default is to disable them, unless `enable' is passed literally.
+# For symmetry, `disable' may be passed as well. Anyway, the user
+# can override the default with the --enable/--disable switch.
+AC_DEFUN([AM_MAINTAINER_MODE],
+[m4_case(m4_default([$1], [disable]),
+ [enable], [m4_define([am_maintainer_other], [disable])],
+ [disable], [m4_define([am_maintainer_other], [enable])],
+ [m4_define([am_maintainer_other], [enable])
+ m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
+AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+ dnl maintainer-mode's default is 'disable' unless 'enable' is passed
+ AC_ARG_ENABLE([maintainer-mode],
+[ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ [USE_MAINTAINER_MODE=$enableval],
+ [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+ AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+ AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST([MAINT])dnl
+]
+)
+
+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
+
+# Check to see how 'make' treats includes. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 4
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 6
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check for `mkdir -p'.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+ [[\\/$]]* | ?:[[\\/]]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+
+# Helper functions for option handling. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 4
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME. Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 5
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[[\\\"\#\$\&\'\`$am_lf]]*)
+ AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+ *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
+ AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+esac
+
+# 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" conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $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]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006, 2008 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 2
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
+# Check how to create a tarball. -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+# tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+# $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+ [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+ [m4_case([$1], [ustar],, [pax],,
+ [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar;
+ do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([../../../acinclude.m4])
diff --git a/newlib/libc/machine/epiphany/configure b/newlib/libc/machine/epiphany/configure
new file mode 100755
index 000000000..8c9c291c2
--- /dev/null
+++ b/newlib/libc/machine/epiphany/configure
@@ -0,0 +1,4745 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.68 for newlib 1.20.0.
+#
+#
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
+# Foundation, Inc.
+#
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in #(
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test "x$CONFIG_SHELL" = x; then
+ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else
+ case \`(set -o) 2>/dev/null\` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+"
+ as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+ exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1"
+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1"
+ if (eval "$as_required") 2>/dev/null; then :
+ as_have_required=yes
+else
+ as_have_required=no
+fi
+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ as_found=:
+ case $as_dir in #(
+ /*)
+ for as_base in sh bash ksh sh5; do
+ # Try only shells that exist, to save several forks.
+ as_shell=$as_dir/$as_base
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ CONFIG_SHELL=$as_shell as_have_required=yes
+ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ break 2
+fi
+fi
+ done;;
+ esac
+ as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+ CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+ if test "x$CONFIG_SHELL" != x; then :
+ # We cannot yet assume a decent shell, so we have to provide a
+ # neutralization value for shells without unset; and this also
+ # works around shells that cannot unset nonexistent variables.
+ # Preserve -v and -x to the replacement shell.
+ BASH_ENV=/dev/null
+ ENV=/dev/null
+ (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+ export CONFIG_SHELL
+ case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+ esac
+ exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
+fi
+
+ if test x$as_have_required = xno; then :
+ $as_echo "$0: This script requires a shell more modern than all"
+ $as_echo "$0: the shells that I found on your system."
+ if test x${ZSH_VERSION+set} = xset ; then
+ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+ $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+ else
+ $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
+$0: including any error possibly output before this
+$0: message. Then install a modern shell, or manually run
+$0: the script under such a shell if you do have one."
+ fi
+ exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+
+ as_lineno_1=$LINENO as_lineno_1a=$LINENO
+ as_lineno_2=$LINENO as_lineno_2a=$LINENO
+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -p'
+ fi
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p='mkdir -p "$as_dir"'
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in #(
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+
+# Identity of this package.
+PACKAGE_NAME='newlib'
+PACKAGE_TARNAME='newlib'
+PACKAGE_VERSION='1.20.0'
+PACKAGE_STRING='newlib 1.20.0'
+PACKAGE_BUGREPORT=''
+PACKAGE_URL=''
+
+ac_unique_file="Makefile.am"
+ac_subst_vars='LTLIBOBJS
+LIBOBJS
+sys_dir
+machine_dir
+libm_machine_dir
+lpfx
+aext
+oext
+OBJEXT
+USE_LIBTOOL_FALSE
+USE_LIBTOOL_TRUE
+ELIX_LEVEL_4_FALSE
+ELIX_LEVEL_4_TRUE
+ELIX_LEVEL_3_FALSE
+ELIX_LEVEL_3_TRUE
+ELIX_LEVEL_2_FALSE
+ELIX_LEVEL_2_TRUE
+ELIX_LEVEL_1_FALSE
+ELIX_LEVEL_1_TRUE
+ELIX_LEVEL_0_FALSE
+ELIX_LEVEL_0_TRUE
+LDFLAGS
+NO_INCLUDE_LIST
+NEWLIB_CFLAGS
+CCASFLAGS
+CCAS
+MAINT
+MAINTAINER_MODE_FALSE
+MAINTAINER_MODE_TRUE
+READELF
+RANLIB
+AR
+AS
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__quote
+am__include
+DEPDIR
+CC
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+newlib_basedir
+MAY_SUPPLY_SYSCALLS_FALSE
+MAY_SUPPLY_SYSCALLS_TRUE
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_URL
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_multilib
+enable_target_optspace
+enable_malloc_debugging
+enable_newlib_multithread
+enable_newlib_iconv
+enable_newlib_elix_level
+enable_newlib_io_float
+enable_newlib_supplied_syscalls
+enable_dependency_tracking
+enable_maintainer_mode
+'
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+CCAS
+CCASFLAGS'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+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=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *=) ac_optarg= ;;
+ *) ac_optarg=yes ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
+
+ -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_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$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 ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
+ datadir=$ac_optarg ;;
+
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
+
+ -enable-* | --enable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=\$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 | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$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 ;;
+
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst | --locals)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+ 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 | -n)
+ 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 ;;
+
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$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_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=\$ac_optarg ;;
+
+ -without-* | --without-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=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 ;;
+
+ -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ case $ac_envvar in #(
+ '' | [0-9]* | *[!_$as_cr_alnum]* )
+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+ esac
+ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ as_fn_error $? "missing argument to $ac_option"
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ esac
+fi
+
+# Check all directory arguments for consistency.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir
+do
+ eval ac_val=\$$ac_var
+ # Remove trailing slashes.
+ case $ac_val in
+ */ )
+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+ eval $ac_var=\$ac_val;;
+ esac
+ # Be sure to have absolute directory names.
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used" >&2
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ as_fn_error $? "working directory cannot be determined"
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ as_fn_error $? "pwd does not report name of working directory"
+
+
+# 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 the parent directory.
+ ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_myself" : 'X\(//\)[^/]' \| \
+ X"$as_myself" : 'X\(//\)$' \| \
+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ 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
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # 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 <<_ACEOF
+\`configure' configures newlib 1.20.0 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking ...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/newlib]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
+_ACEOF
+
+ cat <<\_ACEOF
+
+Program names:
+ --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
+
+System types:
+ --build=BUILD configure for building on BUILD [guessed]
+ --host=HOST cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+ case $ac_init_help in
+ short | recursive ) echo "Configuration of newlib 1.20.0:";;
+ esac
+ cat <<\_ACEOF
+
+Optional Features:
+ --disable-option-checking ignore unrecognized --enable/--with options
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --enable-multilib build many library versions (default)
+ --enable-target-optspace optimize for space
+ --enable-malloc-debugging indicate malloc debugging requested
+ --enable-newlib-multithread enable support for multiple threads
+ --enable-newlib-iconv enable iconv library support
+ --enable-newlib-elix-level supply desired elix library level (1-4)
+ --disable-newlib-io-float disable printf/scanf family float support
+ --disable-newlib-supplied-syscalls disable newlib from supplying syscalls
+ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer
+
+Some influential environment variables:
+ CCAS assembler compiler command (defaults to CC)
+ CCASFLAGS assembler compiler flags (defaults to CFLAGS)
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to the package provider.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d "$ac_dir" ||
+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+ continue
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for guested configure.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
+ else
+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
+ done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+ cat <<\_ACEOF
+newlib configure 1.20.0
+generated by GNU Autoconf 2.68
+
+Copyright (C) 2010 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit
+fi
+
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
+
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext
+ if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_compile
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by newlib $as_me 1.20.0, which was
+generated by GNU Autoconf 2.68. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ $as_echo "PATH: $as_dir"
+ done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *\'*)
+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+ 2)
+ as_fn_append ac_configure_args1 " '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ as_fn_append ac_configure_args " '$ac_arg'"
+ ;;
+ esac
+ done
+done
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ $as_echo "## ---------------- ##
+## Cache variables. ##
+## ---------------- ##"
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
+ esac ;;
+ esac
+ done
+ (set) 2>&1 |
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ sed -n \
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
+ *)
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+)
+ echo
+
+ $as_echo "## ----------------- ##
+## Output variables. ##
+## ----------------- ##"
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ $as_echo "## ------------------- ##
+## File substitutions. ##
+## ------------------- ##"
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ $as_echo "## ----------- ##
+## confdefs.h. ##
+## ----------- ##"
+ echo
+ cat confdefs.h
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ $as_echo "$as_me: caught signal $ac_signal"
+ $as_echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+$as_echo "/* confdefs.h */" > confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+ # We do not want a PATH search for config.site.
+ case $CONFIG_SITE in #((
+ -*) ac_site_file1=./$CONFIG_SITE;;
+ */*) ac_site_file1=$CONFIG_SITE;;
+ *) ac_site_file1=./$CONFIG_SITE;;
+ esac
+elif test "x$prefix" != xNONE; then
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
+else
+ ac_site_file1=$ac_default_prefix/share/config.site
+ ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+ test "x$ac_site_file" = xNONE && continue
+ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file" \
+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special files
+ # actually), so we avoid doing that. DJGPP emulates it as a regular file.
+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
+ esac
+ fi
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ # differences in whitespace do not lead to failure.
+ ac_old_val_w=`echo x $ac_old_val`
+ ac_new_val_w=`echo x $ac_new_val`
+ if test "$ac_old_val_w" != "$ac_new_val_w"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ ac_cache_corrupted=:
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+ eval $ac_var=\$ac_old_val
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+fi
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+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
+ elif test -f "$ac_dir/shtool"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in ../../../.. \"$srcdir\"/../../../.." "$LINENO" 5
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
+
+
+
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if ${ac_cv_build+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if ${ac_cv_host+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$host_alias" = x; then
+ ac_cv_host=$ac_cv_build
+else
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+am__api_version='1.11'
+
+# 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
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# 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"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if ${ac_cv_path_install+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in #((
+ ./ | .// | /[cC]/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
+ /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
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ rm -rf conftest.one conftest.two conftest.dir
+ echo one > conftest.one
+ echo two > conftest.two
+ mkdir conftest.dir
+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+ test -s conftest.one && test -s conftest.two &&
+ test -s conftest.dir/conftest.one &&
+ test -s conftest.dir/conftest.two
+ then
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+
+ done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
+
+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. Don't cache a
+ # value for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ INSTALL=$ac_install_sh
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&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}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[\\\"\#\$\&\'\`$am_lf]*)
+ as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
+esac
+case $srcdir in
+ *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
+ as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+esac
+
+# 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" conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $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".
+ as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
+alias in your environment" "$LINENO" 5
+ fi
+
+ test "$2" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ as_fn_error $? "newly created file is older than distributed files!
+Check your system clock" "$LINENO" 5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+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"
+# Double any \ or $.
+# By default was `s,x,x', remove it if useless.
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+if test -z "$MKDIR_P"; then
+ if ${ac_cv_path_mkdir+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in mkdir gmkdir; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+ case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+ 'mkdir (GNU coreutils) '* | \
+ 'mkdir (coreutils) '* | \
+ 'mkdir (fileutils) '4.1*)
+ ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+ break 3;;
+ esac
+ done
+ done
+ done
+IFS=$as_save_IFS
+
+fi
+
+ test -d ./--version && rmdir ./--version
+ if test "${ac_cv_path_mkdir+set}" = set; then
+ MKDIR_P="$ac_cv_path_mkdir -p"
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for MKDIR_P within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ MKDIR_P="$ac_install_sh -d"
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
+
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+ [\\/$]* | ?:[\\/]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+
+for ac_prog in gawk mawk nawk awk
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AWK+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AWK"; then
+ ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AWK="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$AWK" && break
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ SET_MAKE=
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then :
+ enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+ AMDEP_TRUE=
+ AMDEP_FALSE='#'
+else
+ AMDEP_TRUE='#'
+ AMDEP_FALSE=
+fi
+
+
+
+# Check whether --enable-multilib was given.
+if test "${enable_multilib+set}" = set; then :
+ enableval=$enable_multilib; case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) as_fn_error $? "bad value ${enableval} for multilib option" "$LINENO" 5 ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-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 ;;
+ *) as_fn_error $? "bad value ${enableval} for target-optspace option" "$LINENO" 5 ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-malloc-debugging was given.
+if test "${enable_malloc_debugging+set}" = set; then :
+ enableval=$enable_malloc_debugging; case "${enableval}" in
+ yes) malloc_debugging=yes ;;
+ no) malloc_debugging=no ;;
+ *) as_fn_error $? "bad value ${enableval} for malloc-debugging option" "$LINENO" 5 ;;
+ esac
+else
+ malloc_debugging=
+fi
+
+# Check whether --enable-newlib-multithread was given.
+if test "${enable_newlib_multithread+set}" = set; then :
+ enableval=$enable_newlib_multithread; case "${enableval}" in
+ yes) newlib_multithread=yes ;;
+ no) newlib_multithread=no ;;
+ *) as_fn_error $? "bad value ${enableval} for newlib-multithread option" "$LINENO" 5 ;;
+ esac
+else
+ newlib_multithread=yes
+fi
+
+# Check whether --enable-newlib-iconv was given.
+if test "${enable_newlib_iconv+set}" = set; then :
+ enableval=$enable_newlib_iconv; if test "${newlib_iconv+set}" != set; then
+ case "${enableval}" in
+ yes) newlib_iconv=yes ;;
+ no) newlib_iconv=no ;;
+ *) as_fn_error $? "bad value ${enableval} for newlib-iconv option" "$LINENO" 5 ;;
+ esac
+ fi
+else
+ newlib_iconv=${newlib_iconv}
+fi
+
+# Check whether --enable-newlib-elix-level was given.
+if test "${enable_newlib_elix_level+set}" = set; then :
+ enableval=$enable_newlib_elix_level; case "${enableval}" in
+ 0) newlib_elix_level=0 ;;
+ 1) newlib_elix_level=1 ;;
+ 2) newlib_elix_level=2 ;;
+ 3) newlib_elix_level=3 ;;
+ 4) newlib_elix_level=4 ;;
+ *) as_fn_error $? "bad value ${enableval} for newlib-elix-level option" "$LINENO" 5 ;;
+ esac
+else
+ newlib_elix_level=0
+fi
+
+# Check whether --enable-newlib-io-float was given.
+if test "${enable_newlib_io_float+set}" = set; then :
+ enableval=$enable_newlib_io_float; case "${enableval}" in
+ yes) newlib_io_float=yes ;;
+ no) newlib_io_float=no ;;
+ *) as_fn_error $? "bad value ${enableval} for newlib-io-float option" "$LINENO" 5 ;;
+ esac
+else
+ newlib_io_float=yes
+fi
+
+# Check whether --enable-newlib-supplied-syscalls was given.
+if test "${enable_newlib_supplied_syscalls+set}" = set; then :
+ enableval=$enable_newlib_supplied_syscalls; case "${enableval}" in
+ yes) newlib_may_supply_syscalls=yes ;;
+ no) newlib_may_supply_syscalls=no ;;
+ *) as_fn_error $? "bad value ${enableval} for newlib-supplied-syscalls option" "$LINENO" 5 ;;
+ esac
+else
+ newlib_may_supply_syscalls=yes
+fi
+
+ if test x${newlib_may_supply_syscalls} = xyes; then
+ MAY_SUPPLY_SYSCALLS_TRUE=
+ MAY_SUPPLY_SYSCALLS_FALSE='#'
+else
+ MAY_SUPPLY_SYSCALLS_TRUE='#'
+ MAY_SUPPLY_SYSCALLS_FALSE=
+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
+
+
+
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ am__isrc=' -I$(srcdir)'
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='newlib'
+ VERSION='1.20.0'
+
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+
+
+
+
+
+
+# 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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+depcc="$CC" am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CC_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ am__universal=false
+ case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CC_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+ am__fastdepCC_TRUE=
+ am__fastdepCC_FALSE='#'
+else
+ am__fastdepCC_TRUE='#'
+ am__fastdepCC_FALSE=
+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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_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 $# != 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
+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -z "$CC" && as_fn_error $? "no acceptable cc found in \$PATH" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using GNU C" >&5
+$as_echo_n "checking whether we are using GNU C... " >&6; }
+if ${ac_cv_c_compiler_gnu+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_c_compiler_gnu=yes
+else
+ ac_cv_c_compiler_gnu=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+
+if test $ac_cv_c_compiler_gnu = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if ${ac_cv_prog_cc_g+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+else
+ CFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+ 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
+
+
+if test -n "$ac_tool_prefix"; then
+ # 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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AS+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AS=$ac_cv_prog_AS
+if test -n "$AS"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
+$as_echo "$AS" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_AS"; then
+ ac_ct_AS=$AS
+ # Extract the first word of "as", so it can be a program name with args.
+set dummy as; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AS+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_AS"; then
+ ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_AS="as"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AS=$ac_cv_prog_ac_ct_AS
+if test -n "$ac_ct_AS"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5
+$as_echo "$ac_ct_AS" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_AS" = x; then
+ AS=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AS=$ac_ct_AS
+ fi
+else
+ AS="$ac_cv_prog_AS"
+fi
+
+if test -n "$ac_tool_prefix"; then
+ # 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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_AR"; then
+ ac_ct_AR=$AR
+ # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_AR"; then
+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_AR="ar"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_AR" = x; then
+ AR=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
+else
+ AR="$ac_cv_prog_AR"
+fi
+
+if test -n "$ac_tool_prefix"; then
+ # 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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_RANLIB+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_RANLIB"; then
+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
+else
+ RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}readelf", so it can be a program name with args.
+set dummy ${ac_tool_prefix}readelf; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_READELF+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$READELF"; then
+ ac_cv_prog_READELF="$READELF" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_READELF="${ac_tool_prefix}readelf"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+READELF=$ac_cv_prog_READELF
+if test -n "$READELF"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $READELF" >&5
+$as_echo "$READELF" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_READELF"; then
+ ac_ct_READELF=$READELF
+ # Extract the first word of "readelf", so it can be a program name with args.
+set dummy readelf; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_READELF+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_READELF"; then
+ ac_cv_prog_ac_ct_READELF="$ac_ct_READELF" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_READELF="readelf"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_READELF=$ac_cv_prog_ac_ct_READELF
+if test -n "$ac_ct_READELF"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_READELF" >&5
+$as_echo "$ac_ct_READELF" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_READELF" = x; then
+ READELF=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ READELF=$ac_ct_READELF
+ fi
+else
+ READELF="$ac_cv_prog_READELF"
+fi
+
+
+
+
+# Hack to ensure that INSTALL won't be set to "../" with autoconf 2.13. */
+ac_given_INSTALL=$INSTALL
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
+$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
+ # Check whether --enable-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
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
+$as_echo "$USE_MAINTAINER_MODE" >&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
+
+
+# By default we simply use the C compiler to build assembly code.
+
+test "${CCAS+set}" = set || CCAS=$CC
+test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
+
+
+
+
+# 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
+
+ dummy_var=1
+fi
+
+. ${newlib_basedir}/configure.host
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+NO_INCLUDE_LIST=${noinclude}
+
+
+LDFLAGS=${ldflags}
+
+
+ if test x${newlib_elix_level} = x0; then
+ ELIX_LEVEL_0_TRUE=
+ ELIX_LEVEL_0_FALSE='#'
+else
+ ELIX_LEVEL_0_TRUE='#'
+ ELIX_LEVEL_0_FALSE=
+fi
+
+ if test x${newlib_elix_level} = x1; then
+ ELIX_LEVEL_1_TRUE=
+ ELIX_LEVEL_1_FALSE='#'
+else
+ ELIX_LEVEL_1_TRUE='#'
+ ELIX_LEVEL_1_FALSE=
+fi
+
+ if test x${newlib_elix_level} = x2; then
+ ELIX_LEVEL_2_TRUE=
+ ELIX_LEVEL_2_FALSE='#'
+else
+ ELIX_LEVEL_2_TRUE='#'
+ ELIX_LEVEL_2_FALSE=
+fi
+
+ if test x${newlib_elix_level} = x3; then
+ ELIX_LEVEL_3_TRUE=
+ ELIX_LEVEL_3_FALSE='#'
+else
+ ELIX_LEVEL_3_TRUE='#'
+ ELIX_LEVEL_3_FALSE=
+fi
+
+ if test x${newlib_elix_level} = x4; then
+ ELIX_LEVEL_4_TRUE=
+ ELIX_LEVEL_4_FALSE='#'
+else
+ ELIX_LEVEL_4_TRUE='#'
+ ELIX_LEVEL_4_FALSE=
+fi
+
+
+ if test x${use_libtool} = xyes; then
+ USE_LIBTOOL_TRUE=
+ USE_LIBTOOL_FALSE='#'
+else
+ USE_LIBTOOL_TRUE='#'
+ USE_LIBTOOL_FALSE=
+fi
+
+
+# Hard-code OBJEXT. Normally it is set by AC_OBJEXT, but we
+# use oext, which is set in configure.host based on the target platform.
+OBJEXT=${oext}
+
+
+
+
+
+
+
+
+
+
+
+ac_config_files="$ac_config_files Makefile"
+
+cat >confcache <<\_ACEOF
+# 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, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# 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.
+(
+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
+ esac ;;
+ esac
+ done
+
+ (set) 2>&1 |
+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ # `set' does not quote correctly, so add quotes: double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \.
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;; #(
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+) |
+ sed '
+ /^ac_cv_env_/b end
+ t clear
+ :clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+ if test "x$cache_file" != "x/dev/null"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+ if test ! -f "$cache_file" || test -h "$cache_file"; then
+ cat confcache >"$cache_file"
+ else
+ case $cache_file in #(
+ */* | ?:*)
+ mv -f confcache "$cache_file"$$ &&
+ mv -f "$cache_file"$$ "$cache_file" ;; #(
+ *)
+ mv -f confcache "$cache_file" ;;
+ esac
+ fi
+ fi
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then branch to the quote section. Otherwise,
+# look for a macro that doesn't take arguments.
+ac_script='
+:mline
+/\\$/{
+ N
+ s,\\\n,,
+ b mline
+}
+t clear
+:clear
+s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g
+t quote
+s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g
+t quote
+b any
+:quote
+s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g
+s/\[/\\&/g
+s/\]/\\&/g
+s/\$/$$/g
+H
+:any
+${
+ g
+ s/^\n//
+ s/\n/ /g
+ p
+}
+'
+DEFS=`sed -n "$ac_script" confdefs.h`
+
+
+ac_libobjs=
+ac_ltlibobjs=
+U=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+ # will be set to the directory where LIBOBJS objects are built.
+ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+if test -z "${MAY_SUPPLY_SYSCALLS_TRUE}" && test -z "${MAY_SUPPLY_SYSCALLS_FALSE}"; then
+ as_fn_error $? "conditional \"MAY_SUPPLY_SYSCALLS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+ as_fn_error $? "conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+ as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
+ as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ELIX_LEVEL_0_TRUE}" && test -z "${ELIX_LEVEL_0_FALSE}"; then
+ as_fn_error $? "conditional \"ELIX_LEVEL_0\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ELIX_LEVEL_1_TRUE}" && test -z "${ELIX_LEVEL_1_FALSE}"; then
+ as_fn_error $? "conditional \"ELIX_LEVEL_1\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ELIX_LEVEL_2_TRUE}" && test -z "${ELIX_LEVEL_2_FALSE}"; then
+ as_fn_error $? "conditional \"ELIX_LEVEL_2\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ELIX_LEVEL_3_TRUE}" && test -z "${ELIX_LEVEL_3_FALSE}"; then
+ as_fn_error $? "conditional \"ELIX_LEVEL_3\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ELIX_LEVEL_4_TRUE}" && test -z "${ELIX_LEVEL_4_FALSE}"; then
+ as_fn_error $? "conditional \"ELIX_LEVEL_4\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${USE_LIBTOOL_TRUE}" && test -z "${USE_LIBTOOL_FALSE}"; then
+ as_fn_error $? "conditional \"USE_LIBTOOL\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+: "${CONFIG_STATUS=./config.status}"
+ac_write_fail=0
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in #(
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
+
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -p'
+ fi
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p='mkdir -p "$as_dir"'
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in #(
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# Save the log message, to keep $0 and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by newlib $as_me 1.20.0, which was
+generated by GNU Autoconf 2.68. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_commands="$ac_config_commands"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ac_cs_usage="\
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration. Unless the files
+and actions are specified as TAGs, all are instantiated by default.
+
+Usage: $0 [OPTION]... [TAG]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number and configuration settings, then exit
+ --config print configuration, then exit
+ -q, --quiet, --silent
+ do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+
+Configuration files:
+$config_files
+
+Configuration commands:
+$config_commands
+
+Report bugs to the package provider."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_version="\\
+newlib config.status 1.20.0
+configured by $0, generated by GNU Autoconf 2.68,
+ with options \\"\$ac_cs_config\\"
+
+Copyright (C) 2010 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=?*)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ --*=)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=
+ ac_shift=:
+ ;;
+ *)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ $as_echo "$ac_cs_version"; exit ;;
+ --config | --confi | --conf | --con | --co | --c )
+ $as_echo "$ac_cs_config"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ '') as_fn_error $? "missing file argument" ;;
+ esac
+ as_fn_append CONFIG_FILES " '$ac_optarg'"
+ ac_need_defaults=false;;
+ --he | --h | --help | --hel | -h )
+ $as_echo "$ac_cs_usage"; exit ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) as_fn_error $? "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
+
+ *) as_fn_append ac_config_targets " $1"
+ ac_need_defaults=false ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+if \$ac_cs_recheck; then
+ set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ shift
+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+ CONFIG_SHELL='$SHELL'
+ export CONFIG_SHELL
+ exec "\$@"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+ $as_echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#
+# INIT-COMMANDS
+#
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+ case $ac_config_target in
+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+
+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+ esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+ tmp= ac_tmp=
+ trap 'exit_status=$?
+ : "${ac_tmp:=$tmp}"
+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
+' 0
+ trap 'as_fn_exit 1' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+ test -d "$tmp"
+} ||
+{
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+ eval ac_cr=\$\'\\r\'
+fi
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+ ac_cs_awk_cr='\\r'
+else
+ ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+ echo "cat >conf$$subs.awk <<_ACEOF" &&
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+} >conf$$subs.sh ||
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ . ./conf$$subs.sh ||
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+
+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+ if test $ac_delim_n = $ac_delim_num; then
+ break
+ elif $ac_last_try; then
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\)..*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\)..*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+ N
+ s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
+ for (key in S) S_is_set[key] = 1
+ FS = ""
+
+}
+{
+ line = $ 0
+ nfields = split(line, field, "@")
+ substed = 0
+ len = length(field[1])
+ for (i = 2; i < nfields; i++) {
+ key = field[i]
+ keylen = length(key)
+ if (S_is_set[key]) {
+ value = S[key]
+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+ len += length(value) + length(field[++i])
+ substed = 1
+ } else
+ len += 1 + keylen
+ }
+
+ print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+ cat
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
+h
+s///
+s/^/:/
+s/[ ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
+s/:*$//
+x
+s/\(=[ ]*\).*/\1/
+G
+s/\n//
+s/^[^=]*=[ ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+
+
+eval set X " :F $CONFIG_FILES :C $CONFIG_COMMANDS"
+shift
+for ac_tag
+do
+ case $ac_tag in
+ :[FHLC]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$1
+ shift
+
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$ac_tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+ esac
+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ as_fn_append ac_file_inputs " '$ac_f'"
+ done
+
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input='Generated from '`
+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+ `' by configure.'
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+ fi
+ # Neutralize special characters interpreted by sed in replacement strings.
+ case $configure_input in #(
+ *\&* | *\|* | *\\* )
+ ac_sed_conf_input=`$as_echo "$configure_input" |
+ sed 's/[\\\\&|]/\\\\&/g'`;; #(
+ *) ac_sed_conf_input=$configure_input;;
+ esac
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$ac_tmp/stdin" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+ esac
+ ;;
+ esac
+
+ ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ as_dir="$ac_dir"; as_fn_mkdir_p
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+ case $ac_mode in
+ :F)
+ #
+ # CONFIG_FILE
+ #
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+ esac
+ ac_MKDIR_P=$MKDIR_P
+ case $MKDIR_P in
+ [\\/$]* | ?:[\\/]* ) ;;
+ */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+ esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+ac_sed_dataroot='
+/datarootdir/ {
+ p
+ q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_datarootdir_hack='
+ s&@datadir@&$datadir&g
+ s&@docdir@&$docdir&g
+ s&@infodir@&$infodir&g
+ s&@localedir@&$localedir&g
+ s&@mandir@&$mandir&g
+ s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
+ "$ac_tmp/out"`; test -z "$ac_out"; } &&
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined" >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined" >&2;}
+
+ rm -f "$ac_tmp/stdin"
+ case $ac_file in
+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
+ esac \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ ;;
+
+
+ :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+ esac
+
+
+ case $ac_file$ac_mode in
+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`$as_dirname -- "$mf" ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$mf" : 'X\(//\)[^/]' \| \
+ X"$mf" : 'X\(//\)$' \| \
+ X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$mf" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`$as_dirname -- "$file" ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$file" : 'X\(//\)[^/]' \| \
+ X"$file" : 'X\(//\)$' \| \
+ X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ as_dir=$dirpart/$fdir; as_fn_mkdir_p
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+ done
+}
+ ;;
+
+ esac
+done # for ac_tag
+
+
+as_fn_exit 0
+_ACEOF
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || as_fn_exit 1
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+
diff --git a/newlib/libc/machine/epiphany/configure.in b/newlib/libc/machine/epiphany/configure.in
new file mode 100644
index 000000000..c9d85b816
--- /dev/null
+++ b/newlib/libc/machine/epiphany/configure.in
@@ -0,0 +1,41 @@
+dnl This is the newlib/libc/machine/epiphany configure.in file.
+
+dnl Copyright (c) 2011, 2012 Adapteva, Inc.
+dnl All rights reserved.
+
+dnl Redistribution and use in source and binary forms, with or without
+dnl modification, are permitted provided that the following conditions are met:
+dnl * Redistributions of source code must retain the above copyright notice,
+dnl this list of conditions and the following disclaimer.
+dnl * Redistributions in binary form must reproduce the above copyright
+dnl notice, this list of conditions and the following disclaimer in the
+dnl documentation and/or other materials provided with the distribution.
+dnl * Neither the name of Adapteva nor the names of its contributors may be
+dnl used to endorse or promote products derived from this software without
+dnl specific prior written permission.
+
+dnl THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+dnl AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+dnl IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+dnl ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+dnl LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+dnl CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+dnl SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+dnl INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+dnl CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+dnl ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+dnl POSSIBILITY OF SUCH DAMAGE.
+
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.59)
+AC_INIT([newlib],[NEWLIB_VERSION])
+AC_CONFIG_SRCDIR([Makefile.am])
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
diff --git a/newlib/libc/machine/epiphany/machine/stdlib.h b/newlib/libc/machine/epiphany/machine/stdlib.h
new file mode 100644
index 000000000..95b4063b0
--- /dev/null
+++ b/newlib/libc/machine/epiphany/machine/stdlib.h
@@ -0,0 +1,15 @@
+static __inline__ long int
+random (void)
+{
+ extern int rand(void);
+
+ return rand ();
+}
+
+static __inline__ void
+srandom (unsigned int seed)
+{
+ void srand(unsigned int seed);
+
+ srand (seed);
+}
diff --git a/newlib/libc/machine/epiphany/setjmp.S b/newlib/libc/machine/epiphany/setjmp.S
new file mode 100644
index 000000000..2986bb47a
--- /dev/null
+++ b/newlib/libc/machine/epiphany/setjmp.S
@@ -0,0 +1,65 @@
+/* setjmp and longjmp
+
+ Copyright (c) 2011, Adapteva, Inc.
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ * 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.
+ * Neither the name of Adapteva 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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. */
+
+ .file "setjmp.S"
+ .section .text
+ .align 4
+ .global _setjmp
+ .type _setjmp, %function
+_setjmp:
+ strd lr,[r0]
+ strd r4,[r0,1]
+ strd r6,[r0,2]
+ strd r8,[r0,3]
+ strd r10,[r0,4]
+ strd r32,[r0,5]
+ strd r34,[r0,6]
+ strd r36,[r0,7]
+ strd r38,[r0,8]
+ str sp,[r0,18]
+ mov r0,#0
+ rts
+ .size _setjmp, .-_setjmp
+
+ .global _longjmp
+_longjmp:
+ ldrd lr,[r0] ; return address / r15
+ ldrd r4,[r0,1]
+ ldrd r6,[r0,2]
+ ldrd r8,[r0,3]
+ ldrd r10,[r0,4]
+ ldrd r32,[r0,5]
+ ldrd r34,[r0,6]
+ ldrd r36,[r0,7]
+ ldrd r38,[r0,8]
+ ldr sp,[r0,18]
+ sub r1,r1,0
+ mov r0,#1
+ movne r0,r1
+ jr lr
+ .size _longjmp, .-_longjmp
diff --git a/newlib/libc/machine/i386/setjmp.S b/newlib/libc/machine/i386/setjmp.S
index fd746e46c..9ecef385b 100644
--- a/newlib/libc/machine/i386/setjmp.S
+++ b/newlib/libc/machine/i386/setjmp.S
@@ -8,7 +8,7 @@
* Copyright (C) 1991 DJ Delorie
* All rights reserved.
*
- * Redistribution, modification, and use in source and binary forms is permitted
+ * Redistribution and use in source and binary forms is permitted
* provided that the above copyright notice and following paragraph are
* duplicated in all such forms.
*
diff --git a/newlib/libc/machine/rl78/Makefile.am b/newlib/libc/machine/rl78/Makefile.am
new file mode 100644
index 000000000..5b78bc171
--- /dev/null
+++ b/newlib/libc/machine/rl78/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)
+
+AM_CCASFLAGS = $(INCLUDES)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = setjmp.S
+lib_a_CCASFLAGS=$(AM_CCASFLAGS)
+lib_a_CFLAGS=$(AM_CFLAGS)
+
+ACLOCAL_AMFLAGS = -I ../../.. -I ../../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/machine/rl78/Makefile.in b/newlib/libc/machine/rl78/Makefile.in
new file mode 100644
index 000000000..a5c1f558f
--- /dev/null
+++ b/newlib/libc/machine/rl78/Makefile.in
@@ -0,0 +1,413 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = .
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/configure $(am__configure_deps) \
+ $(srcdir)/../../../../mkinstalldirs
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/../../../acinclude.m4 \
+ $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+ARFLAGS = cru
+lib_a_AR = $(AR) $(ARFLAGS)
+lib_a_LIBADD =
+am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT)
+lib_a_OBJECTS = $(am_lib_a_OBJECTS)
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp =
+am__depfiles_maybe =
+CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(lib_a_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCAS = @CCAS@
+CCASFLAGS = @CCASFLAGS@
+CCDEPMODE = @CCDEPMODE@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+NO_INCLUDE_LIST = @NO_INCLUDE_LIST@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+READELF = @READELF@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+aext = @aext@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+libm_machine_dir = @libm_machine_dir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lpfx = @lpfx@
+machine_dir = @machine_dir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+newlib_basedir = @newlib_basedir@
+oext = @oext@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sys_dir = @sys_dir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AUTOMAKE_OPTIONS = cygnus
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+AM_CCASFLAGS = $(INCLUDES)
+noinst_LIBRARIES = lib.a
+lib_a_SOURCES = setjmp.S
+lib_a_CCASFLAGS = $(AM_CCASFLAGS)
+lib_a_CFLAGS = $(AM_CFLAGS)
+ACLOCAL_AMFLAGS = -I ../../.. -I ../../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .S .o .obj
+am--refresh:
+ @:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --cygnus'; \
+ $(am__cd) $(srcdir) && $(AUTOMAKE) --cygnus \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --cygnus Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ echo ' $(SHELL) ./config.status'; \
+ $(SHELL) ./config.status;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ $(am__cd) $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(lib_a_AR) lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+.S.o:
+ $(CPPASCOMPILE) -c -o $@ $<
+
+.S.obj:
+ $(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+lib_a-setjmp.o: setjmp.S
+ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CCASFLAGS) $(CCASFLAGS) -c -o lib_a-setjmp.o `test -f 'setjmp.S' || echo '$(srcdir)/'`setjmp.S
+
+lib_a-setjmp.obj: setjmp.S
+ $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CCASFLAGS) $(CCASFLAGS) -c -o lib_a-setjmp.obj `if test -f 'setjmp.S'; then $(CYGPATH_W) 'setjmp.S'; else $(CYGPATH_W) '$(srcdir)/setjmp.S'; fi`
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+check-am:
+check: check-am
+all-am: Makefile $(LIBRARIES)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
+
+distclean: distclean-am
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf $(top_srcdir)/autom4te.cache
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
+ clean-generic clean-noinstLIBRARIES ctags distclean \
+ distclean-compile distclean-generic distclean-tags dvi dvi-am \
+ html html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+ uninstall-am
+
+
+# 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/rl78/aclocal.m4 b/newlib/libc/machine/rl78/aclocal.m4
new file mode 100644
index 000000000..f4337cf8d
--- /dev/null
+++ b/newlib/libc/machine/rl78/aclocal.m4
@@ -0,0 +1,992 @@
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+# This file 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.
+
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
+[m4_warning([this file was generated for autoconf 2.68.
+You have another version of autoconf. It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
+
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.11'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version. Point them to the right macro.
+m4_if([$1], [1.11.1], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too. Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.11.1])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
+# Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 9
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
+# Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 10
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery. Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
+ [$1], CXX, [depcc="$CXX" am_compiler_list=],
+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], UPC, [depcc="$UPC" am_compiler_list=],
+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+ [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_$1_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+ fi
+ am__universal=false
+ m4_case([$1], [CC],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac],
+ [CXX],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac])
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_$1_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+])
+
+# Generate code to set up dependency tracking. -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file 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.
+
+#serial 5
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[{
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+ done
+}
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled. FIXME. This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Do all the work for Automake. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 16
+
+# 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.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out. PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.62])dnl
+dnl Autoconf wants to disallow AM_ names. We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES(CC)],
+ [define([AC_PROG_CC],
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+ [_AM_DEPENDENCIES(OBJC)],
+ [define([AC_PROG_OBJC],
+ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
+dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
+dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
+dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+ [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+])
+
+dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
+# From Jim Meyering
+
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 5
+
+# AM_MAINTAINER_MODE([DEFAULT-MODE])
+# ----------------------------------
+# Control maintainer-specific portions of Makefiles.
+# Default is to disable them, unless `enable' is passed literally.
+# For symmetry, `disable' may be passed as well. Anyway, the user
+# can override the default with the --enable/--disable switch.
+AC_DEFUN([AM_MAINTAINER_MODE],
+[m4_case(m4_default([$1], [disable]),
+ [enable], [m4_define([am_maintainer_other], [disable])],
+ [disable], [m4_define([am_maintainer_other], [enable])],
+ [m4_define([am_maintainer_other], [enable])
+ m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
+AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+ dnl maintainer-mode's default is 'disable' unless 'enable' is passed
+ AC_ARG_ENABLE([maintainer-mode],
+[ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ [USE_MAINTAINER_MODE=$enableval],
+ [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+ AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+ AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST([MAINT])dnl
+]
+)
+
+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
+
+# Check to see how 'make' treats includes. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 4
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 6
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check for `mkdir -p'.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+ [[\\/$]]* | ?:[[\\/]]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+
+# Helper functions for option handling. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 4
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME. Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 5
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[[\\\"\#\$\&\'\`$am_lf]]*)
+ AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+ *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
+ AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+esac
+
+# 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" conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $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]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006, 2008 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 2
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
+# Check how to create a tarball. -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+# tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+# $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+ [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+ [m4_case([$1], [ustar],, [pax],,
+ [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar;
+ do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([../../../acinclude.m4])
diff --git a/newlib/libc/machine/rl78/configure b/newlib/libc/machine/rl78/configure
new file mode 100755
index 000000000..e7fe20753
--- /dev/null
+++ b/newlib/libc/machine/rl78/configure
@@ -0,0 +1,4745 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.68 for newlib 1.20.0.
+#
+#
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
+# Foundation, Inc.
+#
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in #(
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test "x$CONFIG_SHELL" = x; then
+ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else
+ case \`(set -o) 2>/dev/null\` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+"
+ as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+ exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1"
+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1"
+ if (eval "$as_required") 2>/dev/null; then :
+ as_have_required=yes
+else
+ as_have_required=no
+fi
+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ as_found=:
+ case $as_dir in #(
+ /*)
+ for as_base in sh bash ksh sh5; do
+ # Try only shells that exist, to save several forks.
+ as_shell=$as_dir/$as_base
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ CONFIG_SHELL=$as_shell as_have_required=yes
+ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ break 2
+fi
+fi
+ done;;
+ esac
+ as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+ CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+ if test "x$CONFIG_SHELL" != x; then :
+ # We cannot yet assume a decent shell, so we have to provide a
+ # neutralization value for shells without unset; and this also
+ # works around shells that cannot unset nonexistent variables.
+ # Preserve -v and -x to the replacement shell.
+ BASH_ENV=/dev/null
+ ENV=/dev/null
+ (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+ export CONFIG_SHELL
+ case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+ esac
+ exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
+fi
+
+ if test x$as_have_required = xno; then :
+ $as_echo "$0: This script requires a shell more modern than all"
+ $as_echo "$0: the shells that I found on your system."
+ if test x${ZSH_VERSION+set} = xset ; then
+ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+ $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+ else
+ $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
+$0: including any error possibly output before this
+$0: message. Then install a modern shell, or manually run
+$0: the script under such a shell if you do have one."
+ fi
+ exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+
+ as_lineno_1=$LINENO as_lineno_1a=$LINENO
+ as_lineno_2=$LINENO as_lineno_2a=$LINENO
+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -p'
+ fi
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p='mkdir -p "$as_dir"'
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in #(
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+
+# Identity of this package.
+PACKAGE_NAME='newlib'
+PACKAGE_TARNAME='newlib'
+PACKAGE_VERSION='1.20.0'
+PACKAGE_STRING='newlib 1.20.0'
+PACKAGE_BUGREPORT=''
+PACKAGE_URL=''
+
+ac_unique_file="setjmp.S"
+ac_subst_vars='LTLIBOBJS
+LIBOBJS
+sys_dir
+machine_dir
+libm_machine_dir
+lpfx
+aext
+oext
+OBJEXT
+USE_LIBTOOL_FALSE
+USE_LIBTOOL_TRUE
+ELIX_LEVEL_4_FALSE
+ELIX_LEVEL_4_TRUE
+ELIX_LEVEL_3_FALSE
+ELIX_LEVEL_3_TRUE
+ELIX_LEVEL_2_FALSE
+ELIX_LEVEL_2_TRUE
+ELIX_LEVEL_1_FALSE
+ELIX_LEVEL_1_TRUE
+ELIX_LEVEL_0_FALSE
+ELIX_LEVEL_0_TRUE
+LDFLAGS
+NO_INCLUDE_LIST
+NEWLIB_CFLAGS
+CCASFLAGS
+CCAS
+MAINT
+MAINTAINER_MODE_FALSE
+MAINTAINER_MODE_TRUE
+READELF
+RANLIB
+AR
+AS
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__quote
+am__include
+DEPDIR
+CC
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+newlib_basedir
+MAY_SUPPLY_SYSCALLS_FALSE
+MAY_SUPPLY_SYSCALLS_TRUE
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_URL
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_multilib
+enable_target_optspace
+enable_malloc_debugging
+enable_newlib_multithread
+enable_newlib_iconv
+enable_newlib_elix_level
+enable_newlib_io_float
+enable_newlib_supplied_syscalls
+enable_dependency_tracking
+enable_maintainer_mode
+'
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+CCAS
+CCASFLAGS'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+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=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *=) ac_optarg= ;;
+ *) ac_optarg=yes ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
+
+ -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_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$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 ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
+ datadir=$ac_optarg ;;
+
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
+
+ -enable-* | --enable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=\$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 | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$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 ;;
+
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst | --locals)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+ 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 | -n)
+ 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 ;;
+
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$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_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=\$ac_optarg ;;
+
+ -without-* | --without-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=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 ;;
+
+ -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ case $ac_envvar in #(
+ '' | [0-9]* | *[!_$as_cr_alnum]* )
+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+ esac
+ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ as_fn_error $? "missing argument to $ac_option"
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ esac
+fi
+
+# Check all directory arguments for consistency.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir
+do
+ eval ac_val=\$$ac_var
+ # Remove trailing slashes.
+ case $ac_val in
+ */ )
+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+ eval $ac_var=\$ac_val;;
+ esac
+ # Be sure to have absolute directory names.
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used" >&2
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ as_fn_error $? "working directory cannot be determined"
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ as_fn_error $? "pwd does not report name of working directory"
+
+
+# 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 the parent directory.
+ ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_myself" : 'X\(//\)[^/]' \| \
+ X"$as_myself" : 'X\(//\)$' \| \
+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ 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
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # 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 <<_ACEOF
+\`configure' configures newlib 1.20.0 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking ...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/newlib]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
+_ACEOF
+
+ cat <<\_ACEOF
+
+Program names:
+ --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
+
+System types:
+ --build=BUILD configure for building on BUILD [guessed]
+ --host=HOST cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+ case $ac_init_help in
+ short | recursive ) echo "Configuration of newlib 1.20.0:";;
+ esac
+ cat <<\_ACEOF
+
+Optional Features:
+ --disable-option-checking ignore unrecognized --enable/--with options
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --enable-multilib build many library versions (default)
+ --enable-target-optspace optimize for space
+ --enable-malloc-debugging indicate malloc debugging requested
+ --enable-newlib-multithread enable support for multiple threads
+ --enable-newlib-iconv enable iconv library support
+ --enable-newlib-elix-level supply desired elix library level (1-4)
+ --disable-newlib-io-float disable printf/scanf family float support
+ --disable-newlib-supplied-syscalls disable newlib from supplying syscalls
+ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer
+
+Some influential environment variables:
+ CCAS assembler compiler command (defaults to CC)
+ CCASFLAGS assembler compiler flags (defaults to CFLAGS)
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to the package provider.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d "$ac_dir" ||
+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+ continue
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for guested configure.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
+ else
+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
+ done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+ cat <<\_ACEOF
+newlib configure 1.20.0
+generated by GNU Autoconf 2.68
+
+Copyright (C) 2010 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit
+fi
+
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
+
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext
+ if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_compile
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by newlib $as_me 1.20.0, which was
+generated by GNU Autoconf 2.68. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ $as_echo "PATH: $as_dir"
+ done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *\'*)
+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+ 2)
+ as_fn_append ac_configure_args1 " '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ as_fn_append ac_configure_args " '$ac_arg'"
+ ;;
+ esac
+ done
+done
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ $as_echo "## ---------------- ##
+## Cache variables. ##
+## ---------------- ##"
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
+ esac ;;
+ esac
+ done
+ (set) 2>&1 |
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ sed -n \
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
+ *)
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+)
+ echo
+
+ $as_echo "## ----------------- ##
+## Output variables. ##
+## ----------------- ##"
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ $as_echo "## ------------------- ##
+## File substitutions. ##
+## ------------------- ##"
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ $as_echo "## ----------- ##
+## confdefs.h. ##
+## ----------- ##"
+ echo
+ cat confdefs.h
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ $as_echo "$as_me: caught signal $ac_signal"
+ $as_echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+$as_echo "/* confdefs.h */" > confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+ # We do not want a PATH search for config.site.
+ case $CONFIG_SITE in #((
+ -*) ac_site_file1=./$CONFIG_SITE;;
+ */*) ac_site_file1=$CONFIG_SITE;;
+ *) ac_site_file1=./$CONFIG_SITE;;
+ esac
+elif test "x$prefix" != xNONE; then
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
+else
+ ac_site_file1=$ac_default_prefix/share/config.site
+ ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+ test "x$ac_site_file" = xNONE && continue
+ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file" \
+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special files
+ # actually), so we avoid doing that. DJGPP emulates it as a regular file.
+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
+ esac
+ fi
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ # differences in whitespace do not lead to failure.
+ ac_old_val_w=`echo x $ac_old_val`
+ ac_new_val_w=`echo x $ac_new_val`
+ if test "$ac_old_val_w" != "$ac_new_val_w"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ ac_cache_corrupted=:
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+ eval $ac_var=\$ac_old_val
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+fi
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+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
+ elif test -f "$ac_dir/shtool"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in ../../../.. \"$srcdir\"/../../../.." "$LINENO" 5
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
+
+
+
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if ${ac_cv_build+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if ${ac_cv_host+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$host_alias" = x; then
+ ac_cv_host=$ac_cv_build
+else
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+am__api_version='1.11'
+
+# 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
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# 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"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if ${ac_cv_path_install+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in #((
+ ./ | .// | /[cC]/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
+ /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
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ rm -rf conftest.one conftest.two conftest.dir
+ echo one > conftest.one
+ echo two > conftest.two
+ mkdir conftest.dir
+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+ test -s conftest.one && test -s conftest.two &&
+ test -s conftest.dir/conftest.one &&
+ test -s conftest.dir/conftest.two
+ then
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+
+ done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
+
+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. Don't cache a
+ # value for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ INSTALL=$ac_install_sh
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&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}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[\\\"\#\$\&\'\`$am_lf]*)
+ as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
+esac
+case $srcdir in
+ *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
+ as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+esac
+
+# 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" conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $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".
+ as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
+alias in your environment" "$LINENO" 5
+ fi
+
+ test "$2" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ as_fn_error $? "newly created file is older than distributed files!
+Check your system clock" "$LINENO" 5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+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"
+# Double any \ or $.
+# By default was `s,x,x', remove it if useless.
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+if test -z "$MKDIR_P"; then
+ if ${ac_cv_path_mkdir+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in mkdir gmkdir; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+ case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+ 'mkdir (GNU coreutils) '* | \
+ 'mkdir (coreutils) '* | \
+ 'mkdir (fileutils) '4.1*)
+ ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+ break 3;;
+ esac
+ done
+ done
+ done
+IFS=$as_save_IFS
+
+fi
+
+ test -d ./--version && rmdir ./--version
+ if test "${ac_cv_path_mkdir+set}" = set; then
+ MKDIR_P="$ac_cv_path_mkdir -p"
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for MKDIR_P within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ MKDIR_P="$ac_install_sh -d"
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
+
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+ [\\/$]* | ?:[\\/]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+
+for ac_prog in gawk mawk nawk awk
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AWK+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AWK"; then
+ ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AWK="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$AWK" && break
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ SET_MAKE=
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then :
+ enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+ AMDEP_TRUE=
+ AMDEP_FALSE='#'
+else
+ AMDEP_TRUE='#'
+ AMDEP_FALSE=
+fi
+
+
+
+# Check whether --enable-multilib was given.
+if test "${enable_multilib+set}" = set; then :
+ enableval=$enable_multilib; case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) as_fn_error $? "bad value ${enableval} for multilib option" "$LINENO" 5 ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-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 ;;
+ *) as_fn_error $? "bad value ${enableval} for target-optspace option" "$LINENO" 5 ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-malloc-debugging was given.
+if test "${enable_malloc_debugging+set}" = set; then :
+ enableval=$enable_malloc_debugging; case "${enableval}" in
+ yes) malloc_debugging=yes ;;
+ no) malloc_debugging=no ;;
+ *) as_fn_error $? "bad value ${enableval} for malloc-debugging option" "$LINENO" 5 ;;
+ esac
+else
+ malloc_debugging=
+fi
+
+# Check whether --enable-newlib-multithread was given.
+if test "${enable_newlib_multithread+set}" = set; then :
+ enableval=$enable_newlib_multithread; case "${enableval}" in
+ yes) newlib_multithread=yes ;;
+ no) newlib_multithread=no ;;
+ *) as_fn_error $? "bad value ${enableval} for newlib-multithread option" "$LINENO" 5 ;;
+ esac
+else
+ newlib_multithread=yes
+fi
+
+# Check whether --enable-newlib-iconv was given.
+if test "${enable_newlib_iconv+set}" = set; then :
+ enableval=$enable_newlib_iconv; if test "${newlib_iconv+set}" != set; then
+ case "${enableval}" in
+ yes) newlib_iconv=yes ;;
+ no) newlib_iconv=no ;;
+ *) as_fn_error $? "bad value ${enableval} for newlib-iconv option" "$LINENO" 5 ;;
+ esac
+ fi
+else
+ newlib_iconv=${newlib_iconv}
+fi
+
+# Check whether --enable-newlib-elix-level was given.
+if test "${enable_newlib_elix_level+set}" = set; then :
+ enableval=$enable_newlib_elix_level; case "${enableval}" in
+ 0) newlib_elix_level=0 ;;
+ 1) newlib_elix_level=1 ;;
+ 2) newlib_elix_level=2 ;;
+ 3) newlib_elix_level=3 ;;
+ 4) newlib_elix_level=4 ;;
+ *) as_fn_error $? "bad value ${enableval} for newlib-elix-level option" "$LINENO" 5 ;;
+ esac
+else
+ newlib_elix_level=0
+fi
+
+# Check whether --enable-newlib-io-float was given.
+if test "${enable_newlib_io_float+set}" = set; then :
+ enableval=$enable_newlib_io_float; case "${enableval}" in
+ yes) newlib_io_float=yes ;;
+ no) newlib_io_float=no ;;
+ *) as_fn_error $? "bad value ${enableval} for newlib-io-float option" "$LINENO" 5 ;;
+ esac
+else
+ newlib_io_float=yes
+fi
+
+# Check whether --enable-newlib-supplied-syscalls was given.
+if test "${enable_newlib_supplied_syscalls+set}" = set; then :
+ enableval=$enable_newlib_supplied_syscalls; case "${enableval}" in
+ yes) newlib_may_supply_syscalls=yes ;;
+ no) newlib_may_supply_syscalls=no ;;
+ *) as_fn_error $? "bad value ${enableval} for newlib-supplied-syscalls option" "$LINENO" 5 ;;
+ esac
+else
+ newlib_may_supply_syscalls=yes
+fi
+
+ if test x${newlib_may_supply_syscalls} = xyes; then
+ MAY_SUPPLY_SYSCALLS_TRUE=
+ MAY_SUPPLY_SYSCALLS_FALSE='#'
+else
+ MAY_SUPPLY_SYSCALLS_TRUE='#'
+ MAY_SUPPLY_SYSCALLS_FALSE=
+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
+
+
+
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ am__isrc=' -I$(srcdir)'
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='newlib'
+ VERSION='1.20.0'
+
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+
+
+
+
+
+
+# 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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+depcc="$CC" am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CC_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ am__universal=false
+ case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CC_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+ am__fastdepCC_TRUE=
+ am__fastdepCC_FALSE='#'
+else
+ am__fastdepCC_TRUE='#'
+ am__fastdepCC_FALSE=
+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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_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 $# != 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
+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -z "$CC" && as_fn_error $? "no acceptable cc found in \$PATH" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using GNU C" >&5
+$as_echo_n "checking whether we are using GNU C... " >&6; }
+if ${ac_cv_c_compiler_gnu+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_c_compiler_gnu=yes
+else
+ ac_cv_c_compiler_gnu=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+
+if test $ac_cv_c_compiler_gnu = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if ${ac_cv_prog_cc_g+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+else
+ CFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+ 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
+
+
+if test -n "$ac_tool_prefix"; then
+ # 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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AS+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AS=$ac_cv_prog_AS
+if test -n "$AS"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
+$as_echo "$AS" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_AS"; then
+ ac_ct_AS=$AS
+ # Extract the first word of "as", so it can be a program name with args.
+set dummy as; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AS+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_AS"; then
+ ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_AS="as"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AS=$ac_cv_prog_ac_ct_AS
+if test -n "$ac_ct_AS"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5
+$as_echo "$ac_ct_AS" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_AS" = x; then
+ AS=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AS=$ac_ct_AS
+ fi
+else
+ AS="$ac_cv_prog_AS"
+fi
+
+if test -n "$ac_tool_prefix"; then
+ # 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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_AR"; then
+ ac_ct_AR=$AR
+ # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_AR"; then
+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_AR="ar"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_AR" = x; then
+ AR=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
+else
+ AR="$ac_cv_prog_AR"
+fi
+
+if test -n "$ac_tool_prefix"; then
+ # 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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_RANLIB+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_RANLIB"; then
+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
+else
+ RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}readelf", so it can be a program name with args.
+set dummy ${ac_tool_prefix}readelf; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_READELF+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$READELF"; then
+ ac_cv_prog_READELF="$READELF" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_READELF="${ac_tool_prefix}readelf"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+READELF=$ac_cv_prog_READELF
+if test -n "$READELF"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $READELF" >&5
+$as_echo "$READELF" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_READELF"; then
+ ac_ct_READELF=$READELF
+ # Extract the first word of "readelf", so it can be a program name with args.
+set dummy readelf; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_READELF+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_READELF"; then
+ ac_cv_prog_ac_ct_READELF="$ac_ct_READELF" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_READELF="readelf"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_READELF=$ac_cv_prog_ac_ct_READELF
+if test -n "$ac_ct_READELF"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_READELF" >&5
+$as_echo "$ac_ct_READELF" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_READELF" = x; then
+ READELF=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ READELF=$ac_ct_READELF
+ fi
+else
+ READELF="$ac_cv_prog_READELF"
+fi
+
+
+
+
+# Hack to ensure that INSTALL won't be set to "../" with autoconf 2.13. */
+ac_given_INSTALL=$INSTALL
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
+$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
+ # Check whether --enable-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
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
+$as_echo "$USE_MAINTAINER_MODE" >&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
+
+
+# By default we simply use the C compiler to build assembly code.
+
+test "${CCAS+set}" = set || CCAS=$CC
+test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
+
+
+
+
+# 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
+
+ dummy_var=1
+fi
+
+. ${newlib_basedir}/configure.host
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+NO_INCLUDE_LIST=${noinclude}
+
+
+LDFLAGS=${ldflags}
+
+
+ if test x${newlib_elix_level} = x0; then
+ ELIX_LEVEL_0_TRUE=
+ ELIX_LEVEL_0_FALSE='#'
+else
+ ELIX_LEVEL_0_TRUE='#'
+ ELIX_LEVEL_0_FALSE=
+fi
+
+ if test x${newlib_elix_level} = x1; then
+ ELIX_LEVEL_1_TRUE=
+ ELIX_LEVEL_1_FALSE='#'
+else
+ ELIX_LEVEL_1_TRUE='#'
+ ELIX_LEVEL_1_FALSE=
+fi
+
+ if test x${newlib_elix_level} = x2; then
+ ELIX_LEVEL_2_TRUE=
+ ELIX_LEVEL_2_FALSE='#'
+else
+ ELIX_LEVEL_2_TRUE='#'
+ ELIX_LEVEL_2_FALSE=
+fi
+
+ if test x${newlib_elix_level} = x3; then
+ ELIX_LEVEL_3_TRUE=
+ ELIX_LEVEL_3_FALSE='#'
+else
+ ELIX_LEVEL_3_TRUE='#'
+ ELIX_LEVEL_3_FALSE=
+fi
+
+ if test x${newlib_elix_level} = x4; then
+ ELIX_LEVEL_4_TRUE=
+ ELIX_LEVEL_4_FALSE='#'
+else
+ ELIX_LEVEL_4_TRUE='#'
+ ELIX_LEVEL_4_FALSE=
+fi
+
+
+ if test x${use_libtool} = xyes; then
+ USE_LIBTOOL_TRUE=
+ USE_LIBTOOL_FALSE='#'
+else
+ USE_LIBTOOL_TRUE='#'
+ USE_LIBTOOL_FALSE=
+fi
+
+
+# Hard-code OBJEXT. Normally it is set by AC_OBJEXT, but we
+# use oext, which is set in configure.host based on the target platform.
+OBJEXT=${oext}
+
+
+
+
+
+
+
+
+
+
+
+ac_config_files="$ac_config_files Makefile"
+
+cat >confcache <<\_ACEOF
+# 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, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# 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.
+(
+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
+ esac ;;
+ esac
+ done
+
+ (set) 2>&1 |
+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ # `set' does not quote correctly, so add quotes: double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \.
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;; #(
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+) |
+ sed '
+ /^ac_cv_env_/b end
+ t clear
+ :clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+ if test "x$cache_file" != "x/dev/null"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+ if test ! -f "$cache_file" || test -h "$cache_file"; then
+ cat confcache >"$cache_file"
+ else
+ case $cache_file in #(
+ */* | ?:*)
+ mv -f confcache "$cache_file"$$ &&
+ mv -f "$cache_file"$$ "$cache_file" ;; #(
+ *)
+ mv -f confcache "$cache_file" ;;
+ esac
+ fi
+ fi
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then branch to the quote section. Otherwise,
+# look for a macro that doesn't take arguments.
+ac_script='
+:mline
+/\\$/{
+ N
+ s,\\\n,,
+ b mline
+}
+t clear
+:clear
+s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g
+t quote
+s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g
+t quote
+b any
+:quote
+s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g
+s/\[/\\&/g
+s/\]/\\&/g
+s/\$/$$/g
+H
+:any
+${
+ g
+ s/^\n//
+ s/\n/ /g
+ p
+}
+'
+DEFS=`sed -n "$ac_script" confdefs.h`
+
+
+ac_libobjs=
+ac_ltlibobjs=
+U=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+ # will be set to the directory where LIBOBJS objects are built.
+ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+if test -z "${MAY_SUPPLY_SYSCALLS_TRUE}" && test -z "${MAY_SUPPLY_SYSCALLS_FALSE}"; then
+ as_fn_error $? "conditional \"MAY_SUPPLY_SYSCALLS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+ as_fn_error $? "conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+ as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
+ as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ELIX_LEVEL_0_TRUE}" && test -z "${ELIX_LEVEL_0_FALSE}"; then
+ as_fn_error $? "conditional \"ELIX_LEVEL_0\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ELIX_LEVEL_1_TRUE}" && test -z "${ELIX_LEVEL_1_FALSE}"; then
+ as_fn_error $? "conditional \"ELIX_LEVEL_1\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ELIX_LEVEL_2_TRUE}" && test -z "${ELIX_LEVEL_2_FALSE}"; then
+ as_fn_error $? "conditional \"ELIX_LEVEL_2\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ELIX_LEVEL_3_TRUE}" && test -z "${ELIX_LEVEL_3_FALSE}"; then
+ as_fn_error $? "conditional \"ELIX_LEVEL_3\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ELIX_LEVEL_4_TRUE}" && test -z "${ELIX_LEVEL_4_FALSE}"; then
+ as_fn_error $? "conditional \"ELIX_LEVEL_4\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${USE_LIBTOOL_TRUE}" && test -z "${USE_LIBTOOL_FALSE}"; then
+ as_fn_error $? "conditional \"USE_LIBTOOL\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+: "${CONFIG_STATUS=./config.status}"
+ac_write_fail=0
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in #(
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
+
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -p'
+ fi
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p='mkdir -p "$as_dir"'
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in #(
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# Save the log message, to keep $0 and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by newlib $as_me 1.20.0, which was
+generated by GNU Autoconf 2.68. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_commands="$ac_config_commands"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ac_cs_usage="\
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration. Unless the files
+and actions are specified as TAGs, all are instantiated by default.
+
+Usage: $0 [OPTION]... [TAG]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number and configuration settings, then exit
+ --config print configuration, then exit
+ -q, --quiet, --silent
+ do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+
+Configuration files:
+$config_files
+
+Configuration commands:
+$config_commands
+
+Report bugs to the package provider."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_version="\\
+newlib config.status 1.20.0
+configured by $0, generated by GNU Autoconf 2.68,
+ with options \\"\$ac_cs_config\\"
+
+Copyright (C) 2010 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=?*)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ --*=)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=
+ ac_shift=:
+ ;;
+ *)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ $as_echo "$ac_cs_version"; exit ;;
+ --config | --confi | --conf | --con | --co | --c )
+ $as_echo "$ac_cs_config"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ '') as_fn_error $? "missing file argument" ;;
+ esac
+ as_fn_append CONFIG_FILES " '$ac_optarg'"
+ ac_need_defaults=false;;
+ --he | --h | --help | --hel | -h )
+ $as_echo "$ac_cs_usage"; exit ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) as_fn_error $? "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
+
+ *) as_fn_append ac_config_targets " $1"
+ ac_need_defaults=false ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+if \$ac_cs_recheck; then
+ set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ shift
+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+ CONFIG_SHELL='$SHELL'
+ export CONFIG_SHELL
+ exec "\$@"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+ $as_echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#
+# INIT-COMMANDS
+#
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+ case $ac_config_target in
+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+
+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+ esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+ tmp= ac_tmp=
+ trap 'exit_status=$?
+ : "${ac_tmp:=$tmp}"
+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
+' 0
+ trap 'as_fn_exit 1' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+ test -d "$tmp"
+} ||
+{
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+ eval ac_cr=\$\'\\r\'
+fi
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+ ac_cs_awk_cr='\\r'
+else
+ ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+ echo "cat >conf$$subs.awk <<_ACEOF" &&
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+} >conf$$subs.sh ||
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ . ./conf$$subs.sh ||
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+
+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+ if test $ac_delim_n = $ac_delim_num; then
+ break
+ elif $ac_last_try; then
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\)..*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\)..*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+ N
+ s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
+ for (key in S) S_is_set[key] = 1
+ FS = ""
+
+}
+{
+ line = $ 0
+ nfields = split(line, field, "@")
+ substed = 0
+ len = length(field[1])
+ for (i = 2; i < nfields; i++) {
+ key = field[i]
+ keylen = length(key)
+ if (S_is_set[key]) {
+ value = S[key]
+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+ len += length(value) + length(field[++i])
+ substed = 1
+ } else
+ len += 1 + keylen
+ }
+
+ print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+ cat
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
+h
+s///
+s/^/:/
+s/[ ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
+s/:*$//
+x
+s/\(=[ ]*\).*/\1/
+G
+s/\n//
+s/^[^=]*=[ ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+
+
+eval set X " :F $CONFIG_FILES :C $CONFIG_COMMANDS"
+shift
+for ac_tag
+do
+ case $ac_tag in
+ :[FHLC]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$1
+ shift
+
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$ac_tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+ esac
+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ as_fn_append ac_file_inputs " '$ac_f'"
+ done
+
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input='Generated from '`
+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+ `' by configure.'
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+ fi
+ # Neutralize special characters interpreted by sed in replacement strings.
+ case $configure_input in #(
+ *\&* | *\|* | *\\* )
+ ac_sed_conf_input=`$as_echo "$configure_input" |
+ sed 's/[\\\\&|]/\\\\&/g'`;; #(
+ *) ac_sed_conf_input=$configure_input;;
+ esac
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$ac_tmp/stdin" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+ esac
+ ;;
+ esac
+
+ ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ as_dir="$ac_dir"; as_fn_mkdir_p
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+ case $ac_mode in
+ :F)
+ #
+ # CONFIG_FILE
+ #
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+ esac
+ ac_MKDIR_P=$MKDIR_P
+ case $MKDIR_P in
+ [\\/$]* | ?:[\\/]* ) ;;
+ */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+ esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+ac_sed_dataroot='
+/datarootdir/ {
+ p
+ q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_datarootdir_hack='
+ s&@datadir@&$datadir&g
+ s&@docdir@&$docdir&g
+ s&@infodir@&$infodir&g
+ s&@localedir@&$localedir&g
+ s&@mandir@&$mandir&g
+ s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
+ "$ac_tmp/out"`; test -z "$ac_out"; } &&
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined" >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined" >&2;}
+
+ rm -f "$ac_tmp/stdin"
+ case $ac_file in
+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
+ esac \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ ;;
+
+
+ :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+ esac
+
+
+ case $ac_file$ac_mode in
+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`$as_dirname -- "$mf" ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$mf" : 'X\(//\)[^/]' \| \
+ X"$mf" : 'X\(//\)$' \| \
+ X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$mf" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`$as_dirname -- "$file" ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$file" : 'X\(//\)[^/]' \| \
+ X"$file" : 'X\(//\)$' \| \
+ X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ as_dir=$dirpart/$fdir; as_fn_mkdir_p
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+ done
+}
+ ;;
+
+ esac
+done # for ac_tag
+
+
+as_fn_exit 0
+_ACEOF
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || as_fn_exit 1
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+
diff --git a/newlib/libc/machine/rl78/configure.in b/newlib/libc/machine/rl78/configure.in
new file mode 100644
index 000000000..338a728f8
--- /dev/null
+++ b/newlib/libc/machine/rl78/configure.in
@@ -0,0 +1,14 @@
+dnl This is the newlib/libc/machine/rl78 configure.in file.
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.59)
+AC_INIT([newlib],[NEWLIB_VERSION])
+AC_CONFIG_SRCDIR([setjmp.S])
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
diff --git a/newlib/libc/machine/rl78/setjmp.S b/newlib/libc/machine/rl78/setjmp.S
new file mode 100644
index 000000000..951b4ee7b
--- /dev/null
+++ b/newlib/libc/machine/rl78/setjmp.S
@@ -0,0 +1,150 @@
+/*
+
+Copyright (c) 2011 Red Hat Incorporated.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 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.
+
+ The name of Red Hat Incorporated may not be used to endorse
+ or promote products derived from this software without specific
+ prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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.
+
+*/
+
+; clobberable
+r8 = 0xffef0
+r9 = 0xffef1
+r10 = 0xffef2
+r11 = 0xffef3
+r12 = 0xffef4
+r13 = 0xffef5
+r14 = 0xffef6
+r15 = 0xffef7
+; preserved
+r16 = 0xffee8
+r17 = 0xffee9
+r18 = 0xffeea
+r19 = 0xffeeb
+r20 = 0xffeec
+r21 = 0xffeed
+r22 = 0xffeee
+r23 = 0xffeef
+
+/* The jump buffer has the following structure:
+ R0 .. R23 3*8 bytes
+ SP 2 bytes
+ ES 1 byte
+ CS 1 byte
+ PC 4 bytes
+*/
+
+#define SAVEB(ofs,reg) mov a,reg | mov [hl+ofs],a
+#define SAVE(ofs,reg) movw ax,reg | movw [hl+ofs],ax
+
+ .global _setjmp
+ .type _setjmp, @function
+_setjmp:
+ ;; R8 = setjmp (jmp_buf *[sp+4].w)
+ ;; must return zero !!
+ push ax
+ push hl
+ push ax
+ movw ax, [sp+10]
+ movw hl, ax
+ pop ax
+ movw [hl], ax
+ SAVE (2, bc)
+ SAVE (4, de)
+ pop ax
+ movw [hl+6], ax
+ SAVE (8, r8)
+ SAVE (10, r10)
+ SAVE (12, r12)
+ SAVE (14, r14)
+ SAVE (16, r16)
+ SAVE (18, r18)
+ SAVE (20, r20)
+ SAVE (22, r22)
+
+ ;; The sp we have now includes one more pushed reg, plus $PC
+ movw ax, sp
+ addw ax, #6
+ movw [hl+24], ax
+
+ SAVEB (26, es)
+ SAVEB (27, cs)
+ SAVE (28, [sp+2])
+ SAVE (30, [sp+4])
+
+ clrw ax
+ movw r8, ax
+ pop ax
+ ret
+
+ .size _setjmp, . - _setjmp
+
+#define LOADB(ofs,reg) mov a,[hl+ofs] | mov reg,a
+#define LOAD(ofs,reg) movw ax,[hl+ofs] | movw reg,ax
+#define PUSH(ofs) movw ax,[hl+ofs] | push ax
+
+ .global _longjmp
+ .type _longjmp, @function
+_longjmp:
+ ;; noreturn longjmp (jmp_buf *[sp+4].w, int [sp+6].w)
+ movw ax, [sp+6]
+ cmpw ax,#0
+ sknz
+ onew ax
+ movw r8, ax
+
+ movw ax, [sp+4]
+ movw hl, ax
+ movw ax, [hl+24]
+ movw sp, ax ; this is the *new* stack
+
+ PUSH (30) ; high half of PC
+ PUSH (28) ; low half of PC
+ PUSH (6) ; HL
+ PUSH (0) ; AX
+
+ LOAD (2, bc)
+ LOAD (4, de)
+
+ LOAD (10, r10)
+ LOAD (12, r12)
+ LOAD (14, r14)
+ LOAD (16, r16)
+ LOAD (18, r18)
+ LOAD (20, r20)
+ LOAD (22, r22)
+
+ LOADB (26, es)
+ LOADB (27, cs)
+
+ pop ax
+ pop hl
+
+
+ ret ; pops PC (4 bytes)
+
+ .size _longjmp, . - _longjmp
+
diff --git a/newlib/libc/posix/collate.c b/newlib/libc/posix/collate.c
index 8bb04ef0d..6ee455001 100644
--- a/newlib/libc/posix/collate.c
+++ b/newlib/libc/posix/collate.c
@@ -117,26 +117,24 @@ __collate_substitute(s)
const u_char *s;
{
int dest_len, len, nlen;
- int delta = strlen((const char *) s);
+ int delta = strlen(s);
u_char *dest_str = NULL;
if(s == NULL || *s == '\0')
- return __collate_strdup((u_char *) "");
+ return __collate_strdup("");
delta += delta / 8;
- dest_str = (u_char *) malloc(dest_len = delta);
+ dest_str = malloc(dest_len = delta);
if(dest_str == NULL)
__collate_err(EX_OSERR, __FUNCTION__);
len = 0;
while(*s) {
- nlen = len + strlen((const char *)
- __collate_substitute_table[*s]);
+ nlen = len + strlen(__collate_substitute_table[*s]);
if (dest_len <= nlen) {
dest_str = reallocf(dest_str, dest_len = nlen + delta);
if(dest_str == NULL)
__collate_err(EX_OSERR, __FUNCTION__);
}
- strcpy((char *) dest_str + len,
- (const char *) __collate_substitute_table[*s++]);
+ strcpy(dest_str + len, __collate_substitute_table[*s++]);
len = nlen;
}
return dest_str;
@@ -152,9 +150,8 @@ __collate_lookup(t, len, prim, sec)
*len = 1;
*prim = *sec = 0;
for(p2 = __collate_chain_pri_table; p2->str[0]; p2++) {
- if(strncmp((const char *) t, (const char *) p2->str,
- strlen((const char *) p2->str)) == 0) {
- *len = strlen((const char *) p2->str);
+ if(strncmp(t, p2->str, strlen(p2->str)) == 0) {
+ *len = strlen(p2->str);
*prim = p2->prim;
*sec = p2->sec;
return;
@@ -168,7 +165,7 @@ u_char *
__collate_strdup(s)
u_char *s;
{
- u_char *t = (u_char *) strdup((const char *) s);
+ u_char *t = strdup(s);
if (t == NULL)
__collate_err(EX_OSERR, __FUNCTION__);
diff --git a/newlib/libc/posix/engine.c b/newlib/libc/posix/engine.c
index 73ce45c11..8494b90a9 100644
--- a/newlib/libc/posix/engine.c
+++ b/newlib/libc/posix/engine.c
@@ -145,7 +145,7 @@ int eflags;
int i;
struct match mv;
struct match *m = &mv;
- char *dp = NULL;
+ char *dp;
const sopno gf = g->firststate+1; /* +1 for OEND */
const sopno gl = g->laststate;
char *start;
@@ -181,8 +181,8 @@ int eflags;
pp = mustlast;
for (dp = start+g->mlen-1; dp < stop;) {
/* Fast skip non-matches */
- while (dp < stop && charjump[(unsigned char) *dp])
- dp += charjump[(unsigned char) *dp];
+ while (dp < stop && charjump[*dp])
+ dp += charjump[*dp];
if (dp >= stop)
break;
@@ -198,7 +198,7 @@ int eflags;
/* Jump to next possible match */
mj = matchjump[pp - mustfirst];
- cj = charjump[(unsigned char) *dp];
+ cj = charjump[*dp];
dp += (cj < mj ? mj : cj);
pp = mustlast;
}
@@ -364,12 +364,6 @@ sopno stopst;
char *ssp; /* start of string matched by subsubRE */
char *sep; /* end of string matched by subsubRE */
char *oldssp; /* previous ssp */
-#if defined (__GNUC__) && \
- ((__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4)
-/* dp is only used for assertion testing which, for some reason, is not
- recognized as usage. */
-#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
-#endif
char *dp;
AT("diss", start, stop, startst, stopst);
diff --git a/newlib/libc/posix/glob.c b/newlib/libc/posix/glob.c
index 977a5a4f8..4dafe71aa 100644
--- a/newlib/libc/posix/glob.c
+++ b/newlib/libc/posix/glob.c
@@ -30,10 +30,6 @@
* SUCH DAMAGE.
*/
-#ifdef __CYGWIN__
-#define _NO_GLOB /* Cygwin provides its own glob. */
-#endif
-
#ifndef _NO_GLOB
#if defined(LIBC_SCCS) && !defined(lint)
diff --git a/newlib/libc/posix/popen.c b/newlib/libc/posix/popen.c
index faf72b6e3..38978c7aa 100644
--- a/newlib/libc/posix/popen.c
+++ b/newlib/libc/posix/popen.c
@@ -113,7 +113,7 @@ _DEFUN(popen, (program, type),
const char *program _AND
const char *type)
{
- struct pid *cur;
+ struct pid *cur, *last;
FILE *iop;
int pdes[2], pid;
@@ -159,7 +159,8 @@ _DEFUN(popen, (program, type),
(void)close(pdes[1]);
}
/* Close all fd's created by prior popen. */
- for (cur = pidlist; cur; cur = cur->next)
+ for (last = NULL, cur = pidlist; cur;
+ last = cur, cur = cur->next)
(void)close (fileno (cur->fp));
execl(_PATH_BSHELL, "sh", "-c", program, NULL);
_exit(127);
diff --git a/newlib/libc/posix/readdir.c b/newlib/libc/posix/readdir.c
index d3187e603..da07d5c00 100644
--- a/newlib/libc/posix/readdir.c
+++ b/newlib/libc/posix/readdir.c
@@ -75,6 +75,12 @@ _DEFUN(readdir, (dirp),
continue;
}
dp = (struct dirent *)(dirp->dd_buf + dirp->dd_loc);
+ if ((int)dp & 03) { /* bogus pointer check */
+#ifdef HAVE_DD_LOCK
+ __lock_release_recursive(dirp->dd_lock);
+#endif
+ return NULL;
+ }
if (dp->d_reclen <= 0 ||
dp->d_reclen > dirp->dd_len + 1 - dirp->dd_loc) {
#ifdef HAVE_DD_LOCK
diff --git a/newlib/libc/posix/readdir_r.c b/newlib/libc/posix/readdir_r.c
index b9a0b9024..9bc013c64 100644
--- a/newlib/libc/posix/readdir_r.c
+++ b/newlib/libc/posix/readdir_r.c
@@ -76,7 +76,7 @@ struct dirent *tmpdp;
__lock_release_recursive(dirp->dd_lock);
#endif
*dpp = NULL;
- return dirp->dd_size == 0 ? 0 : errno;
+ return errno;
}
}
if (dirp->dd_loc >= dirp->dd_size) {
diff --git a/newlib/libc/posix/regcomp.c b/newlib/libc/posix/regcomp.c
index bd90d2cdf..7f9e188a7 100644
--- a/newlib/libc/posix/regcomp.c
+++ b/newlib/libc/posix/regcomp.c
@@ -103,8 +103,8 @@ static void freeset(struct parse *p, cset *cs);
static int freezeset(struct parse *p, cset *cs);
static int firstch(struct parse *p, cset *cs);
static int nch(struct parse *p, cset *cs);
-#if used
static void mcadd(struct parse *p, cset *cs, char *cp);
+#if used
static void mcsub(cset *cs, char *cp);
static int mcin(cset *cs, char *cp);
static char *mcfind(cset *cs, char *cp);
@@ -308,8 +308,8 @@ struct parse *p;
int stop; /* character this ERE should end at */
{
char c;
- sopno prevback = 0;
- sopno prevfwd = 0;
+ sopno prevback;
+ sopno prevfwd;
sopno conc;
int first = 1; /* is this the first alternative? */
@@ -1333,7 +1333,6 @@ cset *cs;
return(n);
}
-#if used
/*
- mcadd - add a collating element to a cset
== static void mcadd(struct parse *p, cset *cs, \
@@ -1361,6 +1360,7 @@ char *cp;
cs->multis[cs->smultis - 1] = '\0';
}
+#if used
/*
- mcsub - subtract a collating element from a cset
== static void mcsub(cset *cs, char *cp);
@@ -1688,8 +1688,8 @@ struct parse *p;
struct re_guts *g;
{
sop *scan;
- sop *start = NULL;
- sop *newstart = NULL;
+ sop *start;
+ sop *newstart;
sopno newlen;
sop s;
char *cp;
@@ -1961,7 +1961,7 @@ struct re_guts *g;
* is the first one that would be matched).
*/
for (mindex = 0; mindex < g->mlen; mindex++)
- g->charjump[(unsigned char) g->must[mindex]] = g->mlen - mindex - 1;
+ g->charjump[g->must[mindex]] = g->mlen - mindex - 1;
}
/*
diff --git a/newlib/libc/posix/telldir.c b/newlib/libc/posix/telldir.c
index caac4890b..f2b1c79bd 100644
--- a/newlib/libc/posix/telldir.c
+++ b/newlib/libc/posix/telldir.c
@@ -69,10 +69,7 @@ struct ddloc {
static long dd_loccnt = 1; /* Index of entry for sequential readdir's */
static struct ddloc *dd_hash[NDIRHASH]; /* Hash list heads for ddlocs */
-
-#ifdef HAVE_DD_LOCK
__LOCK_INIT(static, dd_hash_lock);
-#endif
/*
* return a pointer into a directory
diff --git a/newlib/libc/posix/wordexp.c b/newlib/libc/posix/wordexp.c
index bfdb63fd0..b6c4a6d1f 100644
--- a/newlib/libc/posix/wordexp.c
+++ b/newlib/libc/posix/wordexp.c
@@ -37,6 +37,7 @@ wordexp(const char *words, wordexp_t *pwordexp, int flags)
char *iter;
pid_t pid;
int num_words = 0;
+ int num_bytes = 0;
int fd[2];
int fd_err[2];
int err = 0;
@@ -128,6 +129,8 @@ wordexp(const char *words, wordexp_t *pwordexp, int flags)
if((iter = strchr(tmp, '\n')))
*iter = '\0';
+ num_bytes = atoi(tmp) + pwordexp->we_wordc;
+
/* Get each expansion from the shell output, and store each in
pwordexp's we_wordv vector. */
for(i = 0; i < num_words; i++)
diff --git a/newlib/libc/reent/mkdirr.c b/newlib/libc/reent/mkdirr.c
index fe36de11a..29d808de8 100644
--- a/newlib/libc/reent/mkdirr.c
+++ b/newlib/libc/reent/mkdirr.c
@@ -44,8 +44,6 @@ DESCRIPTION
<<errno>>.
*/
-#include <sys/stat.h>
-
int
_DEFUN (_mkdir_r, (ptr, path, mode),
struct _reent *ptr _AND
diff --git a/newlib/libc/reent/renamer.c b/newlib/libc/reent/renamer.c
index d3951a28d..4d2d25635 100644
--- a/newlib/libc/reent/renamer.c
+++ b/newlib/libc/reent/renamer.c
@@ -1,7 +1,6 @@
/* Reentrant version of rename system call. */
#include <reent.h>
-#include <stdio.h>
#include <unistd.h>
#include <sys/stat.h>
#include <_syslist.h>
diff --git a/newlib/libc/search/hash.c b/newlib/libc/search/hash.c
index 997acb3f6..0301fc03f 100644
--- a/newlib/libc/search/hash.c
+++ b/newlib/libc/search/hash.c
@@ -141,9 +141,9 @@ _DEFUN(__hash_open, (file, flags, mode, info, dflags),
new_table = 0;
if (!file || (flags & O_TRUNC) ||
#ifdef __USE_INTERNAL_STAT64
- (_stat64(file, &statbuf) && (errno == ENOENT))) {
+ (stat64(file, &statbuf) && (errno == ENOENT))) {
#else
- (_stat(file, &statbuf) && (errno == ENOENT))) {
+ (stat(file, &statbuf) && (errno == ENOENT))) {
#endif
if (errno == ENOENT)
errno = 0; /* Just in case someone looks at errno */
@@ -157,9 +157,9 @@ _DEFUN(__hash_open, (file, flags, mode, info, dflags),
a new .db file, then reinitialize the database */
if ((flags & O_CREAT) &&
#ifdef __USE_INTERNAL_STAT64
- _fstat64(hashp->fp, &statbuf) == 0 && statbuf.st_size == 0)
+ fstat64(hashp->fp, &statbuf) == 0 && statbuf.st_size == 0)
#else
- _fstat(hashp->fp, &statbuf) == 0 && statbuf.st_size == 0)
+ fstat(hashp->fp, &statbuf) == 0 && statbuf.st_size == 0)
#endif
new_table = 1;
@@ -316,11 +316,7 @@ init_hash(hashp, file, info)
const char *file;
const HASHINFO *info;
{
-#ifdef __USE_INTERNAL_STAT64
- struct stat64 statbuf;
-#else
struct stat statbuf;
-#endif
int nelem;
nelem = 1;
@@ -339,9 +335,9 @@ init_hash(hashp, file, info)
/* Fix bucket size to be optimal for file system */
if (file != NULL) {
#ifdef __USE_INTERNAL_STAT64
- if (_stat64(file, &statbuf))
+ if (stat64(file, &statbuf))
#else
- if (_stat(file, &statbuf))
+ if (stat(file, &statbuf))
#endif
return (NULL);
hashp->BSIZE = statbuf.st_blksize;
diff --git a/newlib/libc/search/hash_bigkey.c b/newlib/libc/search/hash_bigkey.c
index 8ff52b383..449b6bed6 100644
--- a/newlib/libc/search/hash_bigkey.c
+++ b/newlib/libc/search/hash_bigkey.c
@@ -123,7 +123,7 @@ __big_insert(hashp, bufp, key, val)
if (!bufp)
return (-1);
n = p[0];
- if (!key_size) {
+ if (!key_size)
if (FREESPACE(p)) {
move_bytes = MIN(FREESPACE(p), val_size);
off = OFFSET(p) - move_bytes;
@@ -136,7 +136,6 @@ __big_insert(hashp, bufp, key, val)
OFFSET(p) = off;
} else
p[n - 2] = FULL_KEY;
- }
p = (__uint16_t *)bufp->page;
cp = bufp->page;
bufp->flags |= BUF_MOD;
diff --git a/newlib/libc/search/hash_page.c b/newlib/libc/search/hash_page.c
index 7ca304d38..68ab9db17 100644
--- a/newlib/libc/search/hash_page.c
+++ b/newlib/libc/search/hash_page.c
@@ -667,7 +667,7 @@ static __uint16_t
overflow_page(hashp)
HTAB *hashp;
{
- __uint32_t *freep = NULL;
+ __uint32_t *freep;
int max_free, offset, splitnum;
__uint16_t addr;
int bit, first_page, free_bit, free_page, i, in_use_bits, j;
diff --git a/newlib/libc/search/hcreate_r.c b/newlib/libc/search/hcreate_r.c
index 8aba524ec..4ff758fdb 100644
--- a/newlib/libc/search/hcreate_r.c
+++ b/newlib/libc/search/hcreate_r.c
@@ -123,10 +123,9 @@ hcreate_r(size_t nel, struct hsearch_data *htab)
void
hdestroy_r(struct hsearch_data *htab)
{
-#if 0
struct internal_entry *ie;
size_t idx;
-#endif
+
if (htab->htable == NULL)
return;
diff --git a/newlib/libc/stdio/asiprintf.c b/newlib/libc/stdio/asiprintf.c
index 0c363d5ea..97474fd1a 100644
--- a/newlib/libc/stdio/asiprintf.c
+++ b/newlib/libc/stdio/asiprintf.c
@@ -45,7 +45,7 @@ _DEFUN(_asiprintf_r, (ptr, strp, fmt),
if (ret >= 0)
{
*f._p = 0;
- *strp = (char *) f._bf._base;
+ *strp = f._bf._base;
}
return (ret);
}
@@ -72,7 +72,7 @@ _DEFUN(asiprintf, (strp, fmt),
if (ret >= 0)
{
*f._p = 0;
- *strp = (char *) f._bf._base;
+ *strp = f._bf._base;
}
return (ret);
}
diff --git a/newlib/libc/stdio/asprintf.c b/newlib/libc/stdio/asprintf.c
index 7b26d9f29..59a08c808 100644
--- a/newlib/libc/stdio/asprintf.c
+++ b/newlib/libc/stdio/asprintf.c
@@ -45,7 +45,7 @@ _DEFUN(_asprintf_r, (ptr, strp, fmt),
if (ret >= 0)
{
*f._p = 0;
- *strp = (char *) f._bf._base;
+ *strp = f._bf._base;
}
return (ret);
}
@@ -72,7 +72,7 @@ _DEFUN(asprintf, (strp, fmt),
if (ret >= 0)
{
*f._p = 0;
- *strp = (char *) f._bf._base;
+ *strp = f._bf._base;
}
return (ret);
}
diff --git a/newlib/libc/stdio/clearerr.c b/newlib/libc/stdio/clearerr.c
index ed4603ba2..d3b620bed 100644
--- a/newlib/libc/stdio/clearerr.c
+++ b/newlib/libc/stdio/clearerr.c
@@ -65,7 +65,7 @@ _DEFUN(clearerr, (fp),
FILE * fp)
{
CHECK_INIT(_REENT, fp);
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
__sclearerr (fp);
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
}
diff --git a/newlib/libc/stdio/fclose.c b/newlib/libc/stdio/fclose.c
index 790496413..3c8868a51 100644
--- a/newlib/libc/stdio/fclose.c
+++ b/newlib/libc/stdio/fclose.c
@@ -76,20 +76,11 @@ _DEFUN(_fclose_r, (rptr, fp),
CHECK_INIT (rptr, fp);
- /* We can't use the _newlib_flockfile_XXX macros here due to the
- interlocked locking with the sfp_lock. */
-#if !defined (__SINGLE_THREAD__) && defined (_POSIX_THREADS)
- int __oldcancel;
- pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &__oldcancel);
-#endif
_flockfile (fp);
if (fp->_flags == 0) /* not open! */
{
_funlockfile (fp);
-#if !defined (__SINGLE_THREAD__) && defined (_POSIX_THREADS)
- pthread_setcancelstate (__oldcancel, &__oldcancel);
-#endif
return (0);
}
/* Unconditionally flush to allow special handling for seekable read
@@ -112,9 +103,6 @@ _DEFUN(_fclose_r, (rptr, fp),
#endif
__sfp_lock_release ();
-#if !defined (__SINGLE_THREAD__) && defined (_POSIX_THREADS)
- pthread_setcancelstate (__oldcancel, &__oldcancel);
-#endif
return (r);
}
diff --git a/newlib/libc/stdio/fdopen.c b/newlib/libc/stdio/fdopen.c
index 77f599b65..aa764c372 100644
--- a/newlib/libc/stdio/fdopen.c
+++ b/newlib/libc/stdio/fdopen.c
@@ -93,7 +93,7 @@ _DEFUN(_fdopen_r, (ptr, fd, mode),
if ((fp = __sfp (ptr)) == 0)
return 0;
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
fp->_flags = flags;
/* POSIX recommends setting the O_APPEND bit on fd to match append
@@ -127,7 +127,7 @@ _DEFUN(_fdopen_r, (ptr, fd, mode),
fp->_flags |= __SCLE;
#endif
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return fp;
}
diff --git a/newlib/libc/stdio/feof.c b/newlib/libc/stdio/feof.c
index c0216ffed..e8db65b86 100644
--- a/newlib/libc/stdio/feof.c
+++ b/newlib/libc/stdio/feof.c
@@ -58,8 +58,8 @@ _DEFUN(feof, (fp),
{
int result;
CHECK_INIT(_REENT, fp);
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
result = __sfeof (fp);
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return result;
}
diff --git a/newlib/libc/stdio/ferror.c b/newlib/libc/stdio/ferror.c
index 0cd3c3089..72b7ce2c5 100644
--- a/newlib/libc/stdio/ferror.c
+++ b/newlib/libc/stdio/ferror.c
@@ -67,8 +67,8 @@ _DEFUN(ferror, (fp),
{
int result;
CHECK_INIT(_REENT, fp);
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
result = __sferror (fp);
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return result;
}
diff --git a/newlib/libc/stdio/fflush.c b/newlib/libc/stdio/fflush.c
index b2bde7af5..130c148c9 100644
--- a/newlib/libc/stdio/fflush.c
+++ b/newlib/libc/stdio/fflush.c
@@ -226,9 +226,9 @@ _DEFUN(_fflush_r, (ptr, fp),
if (!fp->_flags)
return 0;
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
ret = __sflush_r (ptr, fp);
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return ret;
}
diff --git a/newlib/libc/stdio/fgetc.c b/newlib/libc/stdio/fgetc.c
index 99d8330fe..e275cfeeb 100644
--- a/newlib/libc/stdio/fgetc.c
+++ b/newlib/libc/stdio/fgetc.c
@@ -78,9 +78,9 @@ _DEFUN(_fgetc_r, (ptr, fp),
{
int result;
CHECK_INIT(ptr, fp);
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
result = __sgetc_r (ptr, fp);
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return result;
}
@@ -93,9 +93,9 @@ _DEFUN(fgetc, (fp),
#if !defined(PREFER_SIZE_OVER_SPEED) && !defined(__OPTIMIZE_SIZE__)
int result;
CHECK_INIT(_REENT, fp);
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
result = __sgetc_r (_REENT, fp);
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return result;
#else
return _fgetc_r (_REENT, fp);
diff --git a/newlib/libc/stdio/fgets.c b/newlib/libc/stdio/fgets.c
index 1644fba6a..7f02e3fcb 100644
--- a/newlib/libc/stdio/fgets.c
+++ b/newlib/libc/stdio/fgets.c
@@ -98,7 +98,7 @@ _DEFUN(_fgets_r, (ptr, buf, n, fp),
CHECK_INIT(ptr, fp);
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
#ifdef __SCLE
if (fp->_flags & __SCLE)
{
@@ -112,11 +112,11 @@ _DEFUN(_fgets_r, (ptr, buf, n, fp),
}
if (c == EOF && s == buf)
{
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return NULL;
}
*s = 0;
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return buf;
}
#endif
@@ -134,7 +134,7 @@ _DEFUN(_fgets_r, (ptr, buf, n, fp),
/* EOF: stop with partial or no line */
if (s == buf)
{
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return 0;
}
break;
@@ -159,7 +159,7 @@ _DEFUN(_fgets_r, (ptr, buf, n, fp),
fp->_p = t;
_CAST_VOID memcpy ((_PTR) s, (_PTR) p, len);
s[len] = 0;
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return (buf);
}
fp->_r -= len;
@@ -169,7 +169,7 @@ _DEFUN(_fgets_r, (ptr, buf, n, fp),
}
while ((n -= len) != 0);
*s = 0;
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return buf;
}
diff --git a/newlib/libc/stdio/fgetwc.c b/newlib/libc/stdio/fgetwc.c
index 0eaaecb2f..38a79bc7c 100644
--- a/newlib/libc/stdio/fgetwc.c
+++ b/newlib/libc/stdio/fgetwc.c
@@ -164,10 +164,10 @@ _DEFUN(_fgetwc_r, (ptr, fp),
{
wint_t r;
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
ORIENT(fp, 1);
r = __fgetwc (ptr, fp);
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return r;
}
diff --git a/newlib/libc/stdio/fgetws.c b/newlib/libc/stdio/fgetws.c
index 3cf45a976..2784f1513 100644
--- a/newlib/libc/stdio/fgetws.c
+++ b/newlib/libc/stdio/fgetws.c
@@ -93,7 +93,7 @@ _DEFUN(_fgetws_r, (ptr, ws, n, fp),
const char *src;
unsigned char *nl;
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
ORIENT (fp, 1);
if (n <= 0)
@@ -110,13 +110,9 @@ _DEFUN(_fgetws_r, (ptr, ws, n, fp),
{
src = (char *) fp->_p;
nl = memchr (fp->_p, '\n', fp->_r);
- nconv = _mbsnrtowcs_r (ptr, wsp, &src,
- /* Read all bytes up to the next NL, or up to the
- end of the buffer if there is no NL. */
- nl != NULL ? (nl - fp->_p + 1) : fp->_r,
- /* But never more than n - 1 wide chars. */
- n - 1,
- &fp->_mbstate);
+ nconv = _mbsrtowcs_r (ptr, wsp, &src,
+ nl != NULL ? (nl - fp->_p + 1) : fp->_r,
+ &fp->_mbstate);
if (nconv == (size_t) -1)
/* Conversion error */
goto error;
@@ -146,11 +142,11 @@ _DEFUN(_fgetws_r, (ptr, ws, n, fp),
/* Incomplete character */
goto error;
*wsp++ = L'\0';
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return ws;
error:
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return NULL;
}
diff --git a/newlib/libc/stdio/fileno.c b/newlib/libc/stdio/fileno.c
index be8f3d66a..db399eb12 100644
--- a/newlib/libc/stdio/fileno.c
+++ b/newlib/libc/stdio/fileno.c
@@ -47,7 +47,6 @@ Supporting OS subroutines required: none.
#include <_ansi.h>
#include <stdio.h>
-#include <errno.h>
#include "local.h"
int
@@ -56,14 +55,8 @@ _DEFUN(fileno, (f),
{
int result;
CHECK_INIT (_REENT, f);
- _newlib_flockfile_start (f);
- if (f->_flags)
- result = __sfileno (f);
- else
- {
- result = -1;
- _REENT->_errno = EBADF;
- }
- _newlib_flockfile_end (f);
+ _flockfile (f);
+ result = __sfileno (f);
+ _funlockfile (f);
return result;
}
diff --git a/newlib/libc/stdio/findfp.c b/newlib/libc/stdio/findfp.c
index 0beb1e5b0..570fd457e 100644
--- a/newlib/libc/stdio/findfp.c
+++ b/newlib/libc/stdio/findfp.c
@@ -108,7 +108,7 @@ _DEFUN(__sfp, (d),
int n;
struct _glue *g;
- _newlib_sfp_lock_start ();
+ __sfp_lock_acquire ();
if (!_GLOBAL_REENT->__sdidinit)
__sinit (_GLOBAL_REENT);
@@ -121,7 +121,7 @@ _DEFUN(__sfp, (d),
(g->_next = __sfmoreglue (d, NDYNAMIC)) == NULL)
break;
}
- _newlib_sfp_lock_exit ();
+ __sfp_lock_release ();
d->_errno = ENOMEM;
return NULL;
@@ -132,7 +132,7 @@ found:
#ifndef __SINGLE_THREAD__
__lock_init_recursive (fp->_lock);
#endif
- _newlib_sfp_lock_end ();
+ __sfp_lock_release ();
fp->_p = NULL; /* no current pointer */
fp->_w = 0; /* nothing to read or write */
@@ -192,6 +192,7 @@ _DEFUN(__sinit, (s),
/* make sure we clean up on exit */
s->__cleanup = _cleanup_r; /* conservative */
+ s->__sdidinit = 1;
s->__sglue._next = NULL;
#ifndef _REENT_SMALL
@@ -200,11 +201,6 @@ _DEFUN(__sinit, (s),
#else
s->__sglue._niobs = 0;
s->__sglue._iobs = NULL;
- /* Avoid infinite recursion when calling __sfp for _GLOBAL_REENT. The
- problem is that __sfp checks for _GLOBAL_REENT->__sdidinit and calls
- __sinit if it's 0. */
- if (s == _GLOBAL_REENT)
- s->__sdidinit = 1;
s->_stdin = __sfp(s);
s->_stdout = __sfp(s);
s->_stderr = __sfp(s);
@@ -228,8 +224,6 @@ _DEFUN(__sinit, (s),
when the underlying fd 2 is write-only. */
std (s->_stderr, __SRW | __SNBF, 2, s);
- s->__sdidinit = 1;
-
__sinit_lock_release ();
}
diff --git a/newlib/libc/stdio/fmemopen.c b/newlib/libc/stdio/fmemopen.c
index acfb23c1b..5218e8a98 100644
--- a/newlib/libc/stdio/fmemopen.c
+++ b/newlib/libc/stdio/fmemopen.c
@@ -291,12 +291,12 @@ _DEFUN(_fmemopen_r, (ptr, buf, size, mode),
if ((c = (fmemcookie *) _malloc_r (ptr, sizeof *c + (buf ? 0 : size)))
== NULL)
{
- _newlib_sfp_lock_start ();
+ __sfp_lock_acquire ();
fp->_flags = 0; /* release */
#ifndef __SINGLE_THREAD__
__lock_close_recursive (fp->_lock);
#endif
- _newlib_sfp_lock_end ();
+ __sfp_lock_release ();
return NULL;
}
@@ -343,7 +343,7 @@ _DEFUN(_fmemopen_r, (ptr, buf, size, mode),
}
}
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
fp->_file = -1;
fp->_flags = flags;
fp->_cookie = c;
@@ -355,7 +355,7 @@ _DEFUN(_fmemopen_r, (ptr, buf, size, mode),
fp->_flags |= __SL64;
#endif
fp->_close = fmemcloser;
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return fp;
}
diff --git a/newlib/libc/stdio/fopen.c b/newlib/libc/stdio/fopen.c
index 27d4bc810..64c24e7ef 100644
--- a/newlib/libc/stdio/fopen.c
+++ b/newlib/libc/stdio/fopen.c
@@ -140,16 +140,16 @@ _DEFUN(_fopen_r, (ptr, file, mode),
if ((f = _open_r (ptr, file, oflags, 0666)) < 0)
{
- _newlib_sfp_lock_start ();
+ __sfp_lock_acquire ();
fp->_flags = 0; /* release */
#ifndef __SINGLE_THREAD__
__lock_close_recursive (fp->_lock);
#endif
- _newlib_sfp_lock_end ();
+ __sfp_lock_release ();
return NULL;
}
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
fp->_file = f;
fp->_flags = flags;
@@ -167,7 +167,7 @@ _DEFUN(_fopen_r, (ptr, file, mode),
fp->_flags |= __SCLE;
#endif
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return fp;
}
diff --git a/newlib/libc/stdio/fopencookie.c b/newlib/libc/stdio/fopencookie.c
index f08d13289..5148c8a1a 100644
--- a/newlib/libc/stdio/fopencookie.c
+++ b/newlib/libc/stdio/fopencookie.c
@@ -219,16 +219,16 @@ _DEFUN(_fopencookie_r, (ptr, cookie, mode, functions),
return NULL;
if ((c = (fccookie *) _malloc_r (ptr, sizeof *c)) == NULL)
{
- _newlib_sfp_lock_start ();
+ __sfp_lock_acquire ();
fp->_flags = 0; /* release */
#ifndef __SINGLE_THREAD__
__lock_close_recursive (fp->_lock);
#endif
- _newlib_sfp_lock_end ();
+ __sfp_lock_release ();
return NULL;
}
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
fp->_file = -1;
fp->_flags = flags;
c->cookie = cookie;
@@ -246,7 +246,7 @@ _DEFUN(_fopencookie_r, (ptr, cookie, mode, functions),
#endif
c->closefn = functions.close;
fp->_close = fccloser;
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return fp;
}
diff --git a/newlib/libc/stdio/fpurge.c b/newlib/libc/stdio/fpurge.c
index dc052e85b..7e23bb7fd 100644
--- a/newlib/libc/stdio/fpurge.c
+++ b/newlib/libc/stdio/fpurge.c
@@ -68,13 +68,13 @@ _DEFUN(_fpurge_r, (ptr, fp),
CHECK_INIT (ptr, fp);
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
t = fp->_flags;
if (!t)
{
ptr->_errno = EBADF;
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return EOF;
}
fp->_p = fp->_bf._base;
@@ -86,7 +86,7 @@ _DEFUN(_fpurge_r, (ptr, fp),
}
else
fp->_w = t & (__SLBF | __SNBF) ? 0 : fp->_bf._size;
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return 0;
}
diff --git a/newlib/libc/stdio/fputc.c b/newlib/libc/stdio/fputc.c
index 6af79d470..777a34242 100644
--- a/newlib/libc/stdio/fputc.c
+++ b/newlib/libc/stdio/fputc.c
@@ -83,9 +83,9 @@ _DEFUN(_fputc_r, (ptr, ch, file),
{
int result;
CHECK_INIT(ptr, file);
- _newlib_flockfile_start (file);
+ _flockfile (file);
result = _putc_r (ptr, ch, file);
- _newlib_flockfile_end (file);
+ _funlockfile (file);
return result;
}
@@ -98,9 +98,9 @@ _DEFUN(fputc, (ch, file),
#if !defined(__OPTIMIZE_SIZE__) && !defined(PREFER_SIZE_OVER_SPEED)
int result;
CHECK_INIT(_REENT, file);
- _newlib_flockfile_start (file);
+ _flockfile (file);
result = _putc_r (_REENT, ch, file);
- _newlib_flockfile_end (file);
+ _funlockfile (file);
return result;
#else
return _fputc_r (_REENT, ch, file);
diff --git a/newlib/libc/stdio/fputs.c b/newlib/libc/stdio/fputs.c
index 6e623a530..a32dea4e2 100644
--- a/newlib/libc/stdio/fputs.c
+++ b/newlib/libc/stdio/fputs.c
@@ -88,10 +88,10 @@ _DEFUN(_fputs_r, (ptr, s, fp),
CHECK_INIT(ptr, fp);
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
ORIENT (fp, -1);
result = __sfvwrite_r (ptr, fp, &uio);
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return result;
}
diff --git a/newlib/libc/stdio/fputwc.c b/newlib/libc/stdio/fputwc.c
index 74e7a452c..f32d56675 100644
--- a/newlib/libc/stdio/fputwc.c
+++ b/newlib/libc/stdio/fputwc.c
@@ -160,10 +160,10 @@ _DEFUN(_fputwc_r, (ptr, wc, fp),
{
wint_t r;
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
ORIENT(fp, 1);
r = __fputwc(ptr, wc, fp);
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return r;
}
diff --git a/newlib/libc/stdio/fputws.c b/newlib/libc/stdio/fputws.c
index c88111cb0..b8e5d1e0b 100644
--- a/newlib/libc/stdio/fputws.c
+++ b/newlib/libc/stdio/fputws.c
@@ -87,7 +87,7 @@ _DEFUN(_fputws_r, (ptr, ws, fp),
struct __suio uio;
struct __siov iov;
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
ORIENT (fp, 1);
if (cantwrite (ptr, fp) != 0)
goto error;
@@ -104,11 +104,11 @@ _DEFUN(_fputws_r, (ptr, ws, fp),
goto error;
}
while (ws != NULL);
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return (0);
error:
- _newlib_flockfile_end(fp);
+ _funlockfile(fp);
return (-1);
}
diff --git a/newlib/libc/stdio/fread.c b/newlib/libc/stdio/fread.c
index 07fe0af5c..a39e9d85f 100644
--- a/newlib/libc/stdio/fread.c
+++ b/newlib/libc/stdio/fread.c
@@ -146,7 +146,7 @@ _DEFUN(_fread_r, (ptr, buf, size, count, fp),
CHECK_INIT(ptr, fp);
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
ORIENT (fp, -1);
if (fp->_r < 0)
fp->_r = 0;
@@ -195,11 +195,11 @@ _DEFUN(_fread_r, (ptr, buf, size, count, fp),
#ifdef __SCLE
if (fp->_flags & __SCLE)
{
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return crlf_r (ptr, fp, buf, total-resid, 1) / size;
}
#endif
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return (total - resid) / size;
}
}
@@ -220,11 +220,11 @@ _DEFUN(_fread_r, (ptr, buf, size, count, fp),
#ifdef __SCLE
if (fp->_flags & __SCLE)
{
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return crlf_r (ptr, fp, buf, total-resid, 1) / size;
}
#endif
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return (total - resid) / size;
}
}
@@ -237,11 +237,11 @@ _DEFUN(_fread_r, (ptr, buf, size, count, fp),
#ifdef __SCLE
if (fp->_flags & __SCLE)
{
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return crlf_r(ptr, fp, buf, total, 0) / size;
}
#endif
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return count;
}
diff --git a/newlib/libc/stdio/freopen.c b/newlib/libc/stdio/freopen.c
index b33eb1e22..172006259 100644
--- a/newlib/libc/stdio/freopen.c
+++ b/newlib/libc/stdio/freopen.c
@@ -100,20 +100,11 @@ _DEFUN(_freopen_r, (ptr, file, mode, fp),
CHECK_INIT (ptr, fp);
- /* We can't use the _newlib_flockfile_XXX macros here due to the
- interlocked locking with the sfp_lock. */
-#if !defined (__SINGLE_THREAD__) && defined (_POSIX_THREADS)
- int __oldcancel;
- pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &__oldcancel);
-#endif
_flockfile (fp);
if ((flags = __sflags (ptr, mode, &oflags)) == 0)
{
_funlockfile (fp);
-#if !defined (__SINGLE_THREAD__) && defined (_POSIX_THREADS)
- pthread_setcancelstate (__oldcancel, &__oldcancel);
-#endif
_fclose_r (ptr, fp);
return NULL;
}
@@ -208,7 +199,7 @@ _DEFUN(_freopen_r, (ptr, file, mode, fp),
if (HASLB (fp))
FREELB (ptr, fp);
fp->_lb._size = 0;
- fp->_flags &= ~__SORD;
+ fp->_flags & ~__SORD;
fp->_flags2 = 0;
memset (&fp->_mbstate, 0, sizeof (_mbstate_t));
@@ -222,9 +213,6 @@ _DEFUN(_freopen_r, (ptr, file, mode, fp),
__lock_close_recursive (fp->_lock);
#endif
__sfp_lock_release ();
-#if !defined (__SINGLE_THREAD__) && defined (_POSIX_THREADS)
- pthread_setcancelstate (__oldcancel, &__oldcancel);
-#endif
return NULL;
}
@@ -242,9 +230,6 @@ _DEFUN(_freopen_r, (ptr, file, mode, fp),
#endif
_funlockfile (fp);
-#if !defined (__SINGLE_THREAD__) && defined (_POSIX_THREADS)
- pthread_setcancelstate (__oldcancel, &__oldcancel);
-#endif
return fp;
}
diff --git a/newlib/libc/stdio/fseek.c b/newlib/libc/stdio/fseek.c
index 099a95892..c78d2b26c 100644
--- a/newlib/libc/stdio/fseek.c
+++ b/newlib/libc/stdio/fseek.c
@@ -138,7 +138,7 @@ _DEFUN(_fseek_r, (ptr, fp, offset, whence),
CHECK_INIT (ptr, fp);
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
/* If we've been doing some writing, and we're in append mode
then we don't really know where the filepos is. */
@@ -154,7 +154,7 @@ _DEFUN(_fseek_r, (ptr, fp, offset, whence),
if ((seekfn = fp->_seek) == NULL)
{
ptr->_errno = ESPIPE; /* ??? */
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return EOF;
}
@@ -179,7 +179,7 @@ _DEFUN(_fseek_r, (ptr, fp, offset, whence),
curoff = seekfn (ptr, fp->_cookie, (_fpos_t) 0, SEEK_CUR);
if (curoff == -1L)
{
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return EOF;
}
}
@@ -204,7 +204,7 @@ _DEFUN(_fseek_r, (ptr, fp, offset, whence),
default:
ptr->_errno = EINVAL;
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return (EOF);
}
@@ -263,7 +263,7 @@ _DEFUN(_fseek_r, (ptr, fp, offset, whence),
if ((long)target != target)
{
ptr->_errno = EOVERFLOW;
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return EOF;
}
@@ -319,7 +319,7 @@ _DEFUN(_fseek_r, (ptr, fp, offset, whence),
FREEUB (ptr, fp);
fp->_flags &= ~__SEOF;
memset (&fp->_mbstate, 0, sizeof (_mbstate_t));
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return 0;
}
@@ -349,7 +349,7 @@ _DEFUN(_fseek_r, (ptr, fp, offset, whence),
fp->_r -= n;
}
memset (&fp->_mbstate, 0, sizeof (_mbstate_t));
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return 0;
/*
@@ -361,7 +361,7 @@ dumb:
if (_fflush_r (ptr, fp)
|| seekfn (ptr, fp->_cookie, offset, whence) == POS_ERR)
{
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return EOF;
}
/* success: clear EOF indicator and discard ungetc() data */
@@ -379,7 +379,7 @@ dumb:
is performed. */
fp->_flags &= ~__SNPT;
memset (&fp->_mbstate, 0, sizeof (_mbstate_t));
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return 0;
}
diff --git a/newlib/libc/stdio/ftell.c b/newlib/libc/stdio/ftell.c
index 54a656c09..816cafa76 100644
--- a/newlib/libc/stdio/ftell.c
+++ b/newlib/libc/stdio/ftell.c
@@ -109,12 +109,12 @@ _DEFUN(_ftell_r, (ptr, fp),
CHECK_INIT (ptr, fp);
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
if (fp->_seek == NULL)
{
ptr->_errno = ESPIPE;
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return -1L;
}
@@ -131,7 +131,7 @@ _DEFUN(_ftell_r, (ptr, fp),
pos = fp->_seek (ptr, fp->_cookie, (_fpos_t) 0, SEEK_CUR);
if (pos == -1L)
{
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return pos;
}
}
@@ -156,7 +156,7 @@ _DEFUN(_ftell_r, (ptr, fp),
pos += fp->_p - fp->_bf._base;
}
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
if ((long)pos != pos)
{
pos = -1;
diff --git a/newlib/libc/stdio/funopen.c b/newlib/libc/stdio/funopen.c
index 065ed93d7..35a274f7b 100644
--- a/newlib/libc/stdio/funopen.c
+++ b/newlib/libc/stdio/funopen.c
@@ -214,16 +214,16 @@ _DEFUN(_funopen_r, (ptr, cookie, readfn, writefn, seekfn, closefn),
return NULL;
if ((c = (funcookie *) _malloc_r (ptr, sizeof *c)) == NULL)
{
- _newlib_sfp_lock_start ();
+ __sfp_lock_acquire ();
fp->_flags = 0; /* release */
#ifndef __SINGLE_THREAD__
__lock_close_recursive (fp->_lock);
#endif
- _newlib_sfp_lock_end ();
+ __sfp_lock_release ();
return NULL;
}
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
fp->_file = -1;
c->cookie = (void *) cookie; /* cast away const */
fp->_cookie = c;
@@ -260,7 +260,7 @@ _DEFUN(_funopen_r, (ptr, cookie, readfn, writefn, seekfn, closefn),
#endif
c->closefn = closefn;
fp->_close = funcloser;
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return fp;
}
diff --git a/newlib/libc/stdio/fwide.c b/newlib/libc/stdio/fwide.c
index a060d8f65..e298f911a 100644
--- a/newlib/libc/stdio/fwide.c
+++ b/newlib/libc/stdio/fwide.c
@@ -68,7 +68,7 @@ _DEFUN(_fwide_r, (ptr, fp, mode),
CHECK_INIT(ptr, fp);
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
if (mode != 0) {
ORIENT (fp, mode);
}
@@ -76,7 +76,7 @@ _DEFUN(_fwide_r, (ptr, fp, mode),
ret = 0;
else
ret = (fp->_flags2 & __SWID) ? 1 : -1;
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return ret;
}
diff --git a/newlib/libc/stdio/fwrite.c b/newlib/libc/stdio/fwrite.c
index dc218050e..ce77c8dc1 100644
--- a/newlib/libc/stdio/fwrite.c
+++ b/newlib/libc/stdio/fwrite.c
@@ -119,14 +119,14 @@ _DEFUN(_fwrite_r, (ptr, buf, size, count, fp),
CHECK_INIT(ptr, fp);
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
ORIENT (fp, -1);
if (__sfvwrite_r (ptr, fp, &uio) == 0)
{
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return count;
}
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return (n - uio.uio_resid) / size;
}
diff --git a/newlib/libc/stdio/getc.c b/newlib/libc/stdio/getc.c
index 355b19131..5b1fa888a 100644
--- a/newlib/libc/stdio/getc.c
+++ b/newlib/libc/stdio/getc.c
@@ -92,9 +92,9 @@ _DEFUN(_getc_r, (ptr, fp),
{
int result;
CHECK_INIT (ptr, fp);
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
result = __sgetc_r (ptr, fp);
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return result;
}
@@ -106,9 +106,9 @@ _DEFUN(getc, (fp),
{
int result;
CHECK_INIT (_REENT, fp);
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
result = __sgetc_r (_REENT, fp);
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return result;
}
diff --git a/newlib/libc/stdio/getdelim.c b/newlib/libc/stdio/getdelim.c
index 63a579a79..23fc50218 100644
--- a/newlib/libc/stdio/getdelim.c
+++ b/newlib/libc/stdio/getdelim.c
@@ -81,7 +81,7 @@ _DEFUN(__getdelim, (bufptr, n, delim, fp),
CHECK_INIT (_REENT, fp);
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
numbytes = *n;
ptr = buf;
@@ -129,7 +129,7 @@ _DEFUN(__getdelim, (bufptr, n, delim, fp),
}
}
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
/* if no input data, return failure */
if (ptr == buf)
diff --git a/newlib/libc/stdio/gets.c b/newlib/libc/stdio/gets.c
index f51d46196..17d144316 100644
--- a/newlib/libc/stdio/gets.c
+++ b/newlib/libc/stdio/gets.c
@@ -70,7 +70,6 @@ Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
#include <_ansi.h>
#include <reent.h>
#include <stdio.h>
-#include "local.h"
char *
_DEFUN(_gets_r, (ptr, buf),
@@ -80,12 +79,12 @@ _DEFUN(_gets_r, (ptr, buf),
register int c;
register char *s = buf;
- _newlib_flockfile_start (stdin);
+ _flockfile (stdin);
while ((c = __sgetc_r (ptr, stdin)) != '\n')
if (c == EOF)
if (s == buf)
{
- _newlib_flockfile_exit (stdin);
+ _funlockfile (stdin);
return NULL;
}
else
@@ -93,7 +92,7 @@ _DEFUN(_gets_r, (ptr, buf),
else
*s++ = c;
*s = 0;
- _newlib_flockfile_end (stdin);
+ _funlockfile (stdin);
return buf;
}
diff --git a/newlib/libc/stdio/local.h b/newlib/libc/stdio/local.h
index b4bc5e01a..187f7d858 100644
--- a/newlib/libc/stdio/local.h
+++ b/newlib/libc/stdio/local.h
@@ -32,83 +32,6 @@
# include <io.h>
#endif
-/* The following macros are supposed to replace calls to _flockfile/_funlockfile
- and __sfp_lock_acquire/__sfp_lock_release. In case of multi-threaded
- environments using pthreads, it's not sufficient to lock the stdio functions
- against concurrent threads accessing the same data, the locking must also be
- secured against thread cancellation.
-
- The below macros have to be used in pairs. The _newlib_XXX_start macro
- starts with a opening curly brace, the _newlib_XXX_end macro ends with a
- closing curly brace, so the start macro and the end macro mark the code
- start and end of a critical section. In case the code leaves the critical
- section before reaching the end of the critical section's code end, use
- the appropriate _newlib_XXX_exit macro. */
-
-#if !defined (__SINGLE_THREAD__) && defined (_POSIX_THREADS)
-#include <pthread.h>
-
-/* Start a stream oriented critical section: */
-# define _newlib_flockfile_start(_fp) \
- { \
- int __oldfpcancel; \
- pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &__oldfpcancel); \
- _flockfile (_fp)
-
-/* Exit from a stream oriented critical section prematurely: */
-# define _newlib_flockfile_exit(_fp) \
- _funlockfile (_fp); \
- pthread_setcancelstate (__oldfpcancel, &__oldfpcancel);
-
-/* End a stream oriented critical section: */
-# define _newlib_flockfile_end(_fp) \
- _funlockfile (_fp); \
- pthread_setcancelstate (__oldfpcancel, &__oldfpcancel); \
- }
-
-/* Start a stream list oriented critical section: */
-# define _newlib_sfp_lock_start() \
- { \
- int __oldsfpcancel; \
- pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &__oldsfpcancel); \
- __sfp_lock_acquire ()
-
-/* Exit from a stream list oriented critical section prematurely: */
-# define _newlib_sfp_lock_exit() \
- __sfp_lock_release (); \
- pthread_setcancelstate (__oldsfpcancel, &__oldsfpcancel);
-
-/* End a stream list oriented critical section: */
-# define _newlib_sfp_lock_end() \
- __sfp_lock_release (); \
- pthread_setcancelstate (__oldsfpcancel, &__oldsfpcancel); \
- }
-
-#else /* __SINGLE_THREAD__ || !_POSIX_THREADS */
-
-# define _newlib_flockfile_start(_fp) \
- { \
- _flockfile(_fp)
-
-# define _newlib_flockfile_exit(_fp) \
- _funlockfile(_fp); \
-
-# define _newlib_flockfile_end(_fp) \
- _funlockfile(_fp); \
- }
-
-# define _newlib_sfp_lock_start() \
- { \
- __sfp_lock_acquire ()
-
-# define _newlib_sfp_lock_exit() \
- __sfp_lock_release ();
-
-# define _newlib_sfp_lock_end() \
- __sfp_lock_release (); \
- }
-
-#endif /* !__SINGLE_THREAD__ && _POSIX_THREADS */
extern u_char *_EXFUN(__sccl, (char *, u_char *fmt));
extern int _EXFUN(__svfscanf_r,(struct _reent *,FILE *, _CONST char *,va_list));
diff --git a/newlib/libc/stdio/mktemp.c b/newlib/libc/stdio/mktemp.c
index ecbc7afea..1c5d76db4 100644
--- a/newlib/libc/stdio/mktemp.c
+++ b/newlib/libc/stdio/mktemp.c
@@ -247,7 +247,7 @@ _DEFUN(_gettemp, (ptr, path, doopen, domkdir, suffixlen, flags),
else
{
/* Safe, since it only encounters 7-bit characters. */
- if (isdigit ((unsigned char) *trv))
+ if (isdigit (*trv))
*trv = 'a';
else
++ * trv;
diff --git a/newlib/libc/stdio/open_memstream.c b/newlib/libc/stdio/open_memstream.c
index 0b58720a1..a53bdef2f 100644
--- a/newlib/libc/stdio/open_memstream.c
+++ b/newlib/libc/stdio/open_memstream.c
@@ -313,12 +313,12 @@ _DEFUN(internal_open_memstream_r, (ptr, buf, size, wide),
return NULL;
if ((c = (memstream *) _malloc_r (ptr, sizeof *c)) == NULL)
{
- _newlib_sfp_lock_start ();
+ __sfp_lock_acquire ();
fp->_flags = 0; /* release */
#ifndef __SINGLE_THREAD__
__lock_close_recursive (fp->_lock);
#endif
- _newlib_sfp_lock_end ();
+ __sfp_lock_release ();
return NULL;
}
/* Use *size as a hint for initial sizing, but bound the initial
@@ -338,12 +338,12 @@ _DEFUN(internal_open_memstream_r, (ptr, buf, size, wide),
*buf = _malloc_r (ptr, c->max);
if (!*buf)
{
- _newlib_sfp_lock_start ();
+ __sfp_lock_acquire ();
fp->_flags = 0; /* release */
#ifndef __SINGLE_THREAD__
__lock_close_recursive (fp->_lock);
#endif
- _newlib_sfp_lock_end ();
+ __sfp_lock_release ();
_free_r (ptr, c);
return NULL;
}
@@ -359,7 +359,7 @@ _DEFUN(internal_open_memstream_r, (ptr, buf, size, wide),
c->saved.w = L'\0';
c->wide = (int8_t) wide;
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
fp->_file = -1;
fp->_flags = __SWR;
fp->_cookie = c;
@@ -372,7 +372,7 @@ _DEFUN(internal_open_memstream_r, (ptr, buf, size, wide),
#endif
fp->_close = memcloser;
ORIENT (fp, wide);
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return fp;
}
diff --git a/newlib/libc/stdio/putc.c b/newlib/libc/stdio/putc.c
index 1115bf40d..667324d9d 100644
--- a/newlib/libc/stdio/putc.c
+++ b/newlib/libc/stdio/putc.c
@@ -97,9 +97,9 @@ _DEFUN(_putc_r, (ptr, c, fp),
{
int result;
CHECK_INIT (ptr, fp);
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
result = __sputc_r (ptr, c, fp);
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return result;
}
@@ -112,9 +112,9 @@ _DEFUN(putc, (c, fp),
#if !defined(PREFER_SIZE_OVER_SPEED) && !defined(__OPTIMIZE_SIZE__)
int result;
CHECK_INIT (_REENT, fp);
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
result = __sputc_r (_REENT, c, fp);
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return result;
#else
return _putc_r (_REENT, c, fp);
diff --git a/newlib/libc/stdio/setvbuf.c b/newlib/libc/stdio/setvbuf.c
index 63f1f80db..583a081f4 100644
--- a/newlib/libc/stdio/setvbuf.c
+++ b/newlib/libc/stdio/setvbuf.c
@@ -106,7 +106,7 @@ _DEFUN(setvbuf, (fp, buf, mode, size),
CHECK_INIT (_REENT, fp);
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
/*
* Verify arguments. The `int' limit on `size' is due to this
@@ -115,7 +115,7 @@ _DEFUN(setvbuf, (fp, buf, mode, size),
if ((mode != _IOFBF && mode != _IOLBF && mode != _IONBF) || (int)(_POINTER_INT) size < 0)
{
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return (EOF);
}
@@ -158,7 +158,7 @@ nbf:
fp->_w = 0;
fp->_bf._base = fp->_p = fp->_nbuf;
fp->_bf._size = 1;
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return (ret);
}
fp->_flags |= __SMBF;
@@ -193,6 +193,6 @@ nbf:
if (fp->_flags & __SWR)
fp->_w = fp->_flags & (__SLBF | __SNBF) ? 0 : size;
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return 0;
}
diff --git a/newlib/libc/stdio/ungetc.c b/newlib/libc/stdio/ungetc.c
index e385ce8fb..0339a3d0c 100644
--- a/newlib/libc/stdio/ungetc.c
+++ b/newlib/libc/stdio/ungetc.c
@@ -125,7 +125,7 @@ _DEFUN(_ungetc_r, (rptr, c, fp),
CHECK_INIT (rptr, fp);
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
ORIENT (fp, -1);
@@ -140,14 +140,14 @@ _DEFUN(_ungetc_r, (rptr, c, fp),
*/
if ((fp->_flags & __SRW) == 0)
{
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return EOF;
}
if (fp->_flags & __SWR)
{
if (_fflush_r (rptr, fp))
{
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return EOF;
}
fp->_flags &= ~__SWR;
@@ -167,12 +167,12 @@ _DEFUN(_ungetc_r, (rptr, c, fp),
{
if (fp->_r >= fp->_ub._size && __submore (rptr, fp))
{
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return EOF;
}
*--fp->_p = c;
fp->_r++;
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return c;
}
@@ -186,7 +186,7 @@ _DEFUN(_ungetc_r, (rptr, c, fp),
{
fp->_p--;
fp->_r++;
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return c;
}
@@ -202,7 +202,7 @@ _DEFUN(_ungetc_r, (rptr, c, fp),
fp->_ubuf[sizeof (fp->_ubuf) - 1] = c;
fp->_p = &fp->_ubuf[sizeof (fp->_ubuf) - 1];
fp->_r = 1;
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return c;
}
diff --git a/newlib/libc/stdio/ungetwc.c b/newlib/libc/stdio/ungetwc.c
index ee0d7fc75..234d2f7ef 100644
--- a/newlib/libc/stdio/ungetwc.c
+++ b/newlib/libc/stdio/ungetwc.c
@@ -82,7 +82,7 @@ _DEFUN(_ungetwc_r, (ptr, wc, fp),
char buf[MB_LEN_MAX];
size_t len;
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
ORIENT (fp, 1);
if (wc == WEOF)
wc = WEOF;
@@ -98,7 +98,7 @@ _DEFUN(_ungetwc_r, (ptr, wc, fp),
wc = WEOF;
break;
}
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return wc;
}
diff --git a/newlib/libc/stdio/vasiprintf.c b/newlib/libc/stdio/vasiprintf.c
index f96de0d79..15310cce9 100644
--- a/newlib/libc/stdio/vasiprintf.c
+++ b/newlib/libc/stdio/vasiprintf.c
@@ -59,7 +59,7 @@ _DEFUN(_vasiprintf_r, (ptr, strp, fmt, ap),
if (ret >= 0)
{
*f._p = 0;
- *strp = (char *) f._bf._base;
+ *strp = f._bf._base;
}
return ret;
}
diff --git a/newlib/libc/stdio/vasprintf.c b/newlib/libc/stdio/vasprintf.c
index fbb54cbe8..b89f4dbd7 100644
--- a/newlib/libc/stdio/vasprintf.c
+++ b/newlib/libc/stdio/vasprintf.c
@@ -59,7 +59,7 @@ _DEFUN(_vasprintf_r, (ptr, strp, fmt, ap),
if (ret >= 0)
{
*f._p = 0;
- *strp = (char *) f._bf._base;
+ *strp = f._bf._base;
}
return ret;
}
diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c
index 4b165e021..e3fc099d3 100644
--- a/newlib/libc/stdio/vfprintf.c
+++ b/newlib/libc/stdio/vfprintf.c
@@ -567,9 +567,9 @@ _DEFUN(_VFPRINTF_R, (data, fp, fmt0, ap),
char sign; /* sign prefix (' ', '+', '-', or \0) */
#ifdef _WANT_IO_C99_FORMATS
/* locale specific numeric grouping */
- char *thousands_sep = NULL;
- size_t thsnd_len = 0;
- const char *grouping = NULL;
+ char *thousands_sep;
+ size_t thsnd_len;
+ const char *grouping;
#endif
#ifdef FLOATING_POINT
char *decimal_point = _localeconv_r (data)->decimal_point;
@@ -585,7 +585,7 @@ _DEFUN(_VFPRINTF_R, (data, fp, fmt0, ap),
#if defined (FLOATING_POINT) || defined (_WANT_IO_C99_FORMATS)
int ndig = 0; /* actual number of digits returned by cvt */
#endif
-#if defined (FLOATING_POINT) && defined (_WANT_IO_C99_FORMATS)
+#ifdef _WANT_IO_C99_FORMATS
int nseps; /* number of group separators with ' */
int nrepeats; /* number of repeats of the last group */
#endif
@@ -708,20 +708,20 @@ _DEFUN(_VFPRINTF_R, (data, fp, fmt0, ap),
#ifndef STRING_ONLY
/* Initialize std streams if not dealing with sprintf family. */
CHECK_INIT (data, fp);
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
ORIENT(fp, -1);
/* sorry, fprintf(read_only_file, "") returns EOF, not 0 */
if (cantwrite (data, fp)) {
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return (EOF);
}
/* optimise fprintf(stderr) (and other unbuffered Unix files) */
if ((fp->_flags & (__SNBF|__SWR|__SRW)) == (__SNBF|__SWR) &&
fp->_file >= 0) {
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return (__sbprintf (data, fp, fmt0, ap));
}
#else /* STRING_ONLY */
@@ -793,10 +793,10 @@ _DEFUN(_VFPRINTF_R, (data, fp, fmt0, ap),
sign = '\0';
#ifdef FLOATING_POINT
lead = 0;
+#endif
#ifdef _WANT_IO_C99_FORMATS
nseps = nrepeats = 0;
#endif
-#endif
#ifndef _NO_POS_ARGS
N = arg_index;
is_pos_arg = 0;
@@ -1633,7 +1633,7 @@ error:
if (malloc_buf != NULL)
_free_r (data, malloc_buf);
#ifndef STRING_ONLY
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
#endif
return (__sferror (fp) ? EOF : ret);
/* NOTREACHED */
diff --git a/newlib/libc/stdio/vfscanf.c b/newlib/libc/stdio/vfscanf.c
index e967719b7..32a132a93 100644
--- a/newlib/libc/stdio/vfscanf.c
+++ b/newlib/libc/stdio/vfscanf.c
@@ -148,12 +148,10 @@ Supporting OS subroutines required:
#endif
#ifdef STRING_ONLY
-#undef _newlib_flockfile_start
-#undef _newlib_flockfile_exit
-#undef _newlib_flockfile_end
-#define _newlib_flockfile_start(x) {}
-#define _newlib_flockfile_exit(x) {}
-#define _newlib_flockfile_end(x) {}
+#undef _flockfile
+#undef _funlockfile
+#define _flockfile(x) {}
+#define _funlockfile(x) {}
#define _ungetc_r _sungetc_r
#define __srefill_r __ssrefill_r
#define _fread_r _sfread_r
@@ -243,7 +241,10 @@ static void * get_arg (int, va_list *, int *, void **);
#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
#ifndef _NO_LONGLONG
@@ -495,7 +496,7 @@ _DEFUN(__SVFSCANF_R, (rptr, fp, fmt0, ap),
# define GET_ARG(n, ap, type) (va_arg (ap, type))
#endif
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
ORIENT (fp, -1);
@@ -510,8 +511,8 @@ _DEFUN(__SVFSCANF_R, (rptr, fp, fmt0, ap),
#ifndef _MB_CAPABLE
wc = *fmt;
#else
- nbytes = __mbtowc (rptr, &wc, (char *) fmt, MB_CUR_MAX,
- __locale_charset (), &state);
+ nbytes = __mbtowc (rptr, &wc, fmt, MB_CUR_MAX, __locale_charset (),
+ &state);
if (nbytes < 0) {
wc = 0xFFFD; /* Unicode replacement character */
nbytes = 1;
@@ -794,7 +795,7 @@ _DEFUN(__SVFSCANF_R, (rptr, fp, fmt0, ap),
* Disgusting backwards compatibility hacks. XXX
*/
case '\0': /* compat */
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return EOF;
default: /* compat */
@@ -1594,12 +1595,12 @@ input_failure:
should have been set prior to here. On EOF failure (including
invalid format string), return EOF if no matches yet, else number
of matches made prior to failure. */
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return nassigned && !(fp->_flags & __SERR) ? nassigned : EOF;
match_failure:
all_done:
/* Return number of matches, which can be 0 on match failure. */
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return nassigned;
}
diff --git a/newlib/libc/stdio/vfwprintf.c b/newlib/libc/stdio/vfwprintf.c
index 968c218b5..d76fff0d6 100644
--- a/newlib/libc/stdio/vfwprintf.c
+++ b/newlib/libc/stdio/vfwprintf.c
@@ -396,11 +396,10 @@ _DEFUN(_VFWPRINTF_R, (data, fp, fmt0, ap),
wchar_t sign; /* sign prefix (' ', '+', '-', or \0) */
#ifdef _WANT_IO_C99_FORMATS
/* locale specific numeric grouping */
- wchar_t thousands_sep = L'\0';
- const char *grouping = NULL;
+ wchar_t thousands_sep;
+ const char *grouping;
#endif
-#if defined (_MB_CAPABLE) && !defined (__HAVE_LOCALE_INFO_EXTENDED__) \
- && (defined (FLOATING_POINT) || defined (_WANT_IO_C99_FORMATS))
+#ifdef _MB_CAPABLE
mbstate_t state; /* mbtowc calls from library must not change state */
#endif
#ifdef FLOATING_POINT
@@ -416,7 +415,7 @@ _DEFUN(_VFWPRINTF_R, (data, fp, fmt0, ap),
#if defined (FLOATING_POINT) || defined (_WANT_IO_C99_FORMATS)
int ndig = 0; /* actual number of digits returned by cvt */
#endif
-#if defined (FLOATING_POINT) && defined (_WANT_IO_C99_FORMATS)
+#ifdef _WANT_IO_C99_FORMATS
int nseps; /* number of group separators with ' */
int nrepeats; /* number of repeats of the last group */
#endif
@@ -554,20 +553,20 @@ _DEFUN(_VFWPRINTF_R, (data, fp, fmt0, ap),
#ifndef STRING_ONLY
/* Initialize std streams if not dealing with sprintf family. */
CHECK_INIT (data, fp);
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
ORIENT(fp, 1);
/* sorry, fwprintf(read_only_file, "") returns EOF, not 0 */
if (cantwrite (data, fp)) {
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return (EOF);
}
/* optimise fwprintf(stderr) (and other unbuffered Unix files) */
if ((fp->_flags & (__SNBF|__SWR|__SRW)) == (__SNBF|__SWR) &&
fp->_file >= 0) {
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return (__sbwprintf (data, fp, fmt0, ap));
}
#else /* STRING_ONLY */
@@ -620,10 +619,10 @@ _DEFUN(_VFWPRINTF_R, (data, fp, fmt0, ap),
sign = L'\0';
#ifdef FLOATING_POINT
lead = 0;
+#endif
#ifdef _WANT_IO_C99_FORMATS
nseps = nrepeats = 0;
#endif
-#endif
#ifndef _NO_POS_ARGS
N = arg_index;
is_pos_arg = 0;
@@ -1466,7 +1465,7 @@ error:
if (malloc_buf != NULL)
_free_r (data, malloc_buf);
#ifndef STRING_ONLY
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
#endif
return (__sferror (fp) ? EOF : ret);
/* NOTREACHED */
diff --git a/newlib/libc/stdio/vfwscanf.c b/newlib/libc/stdio/vfwscanf.c
index 5d2388df8..49ccf2f4b 100644
--- a/newlib/libc/stdio/vfwscanf.c
+++ b/newlib/libc/stdio/vfwscanf.c
@@ -145,12 +145,10 @@ C99, POSIX-1.2008
#endif
#ifdef STRING_ONLY
-#undef _newlib_flockfile_start
-#undef _newlib_flockfile_exit
-#undef _newlib_flockfile_end
-#define _newlib_flockfile_start(x) {}
-#define _newlib_flockfile_exit(x) {}
-#define _newlib_flockfile_end(x) {}
+#undef _flockfile
+#undef _funlockfile
+#define _flockfile(x) {}
+#define _funlockfile(x) {}
#define _ungetwc_r _sungetwc_r
#define __srefill_r __ssrefill_r
#define _fgetwc_r _sfgetwc_r
@@ -436,7 +434,7 @@ _DEFUN(__SVFWSCANF_R, (rptr, fp, fmt0, ap),
# define GET_ARG(n, ap, type) (va_arg (ap, type))
#endif
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
ORIENT (fp, 1);
@@ -714,7 +712,7 @@ _DEFUN(__SVFWSCANF_R, (rptr, fp, fmt0, ap),
* Disgusting backwards compatibility hacks. XXX
*/
case L'\0': /* compat */
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return EOF;
default: /* compat */
@@ -1442,12 +1440,12 @@ input_failure:
should have been set prior to here. On EOF failure (including
invalid format string), return EOF if no matches yet, else number
of matches made prior to failure. */
- _newlib_flockfile_exit (fp);
+ _funlockfile (fp);
return nassigned && !(fp->_flags & __SERR) ? nassigned : EOF;
match_failure:
all_done:
/* Return number of matches, which can be 0 on match failure. */
- _newlib_flockfile_end (fp);
+ _funlockfile (fp);
return nassigned;
}
diff --git a/newlib/libc/stdio64/fdopen64.c b/newlib/libc/stdio64/fdopen64.c
index 659d343e5..49d1f03aa 100644
--- a/newlib/libc/stdio64/fdopen64.c
+++ b/newlib/libc/stdio64/fdopen64.c
@@ -64,7 +64,7 @@ _DEFUN (_fdopen64_r, (ptr, fd, mode),
if ((fp = __sfp (ptr)) == 0)
return 0;
- _newlib_flockfile_start(fp);
+ _flockfile(fp);
fp->_flags = flags;
/* POSIX recommends setting the O_APPEND bit on fd to match append
@@ -101,7 +101,7 @@ _DEFUN (_fdopen64_r, (ptr, fd, mode),
fp->_flags |= __SL64;
- _newlib_flockfile_end(fp);
+ _funlockfile(fp);
return fp;
}
diff --git a/newlib/libc/stdio64/fopen64.c b/newlib/libc/stdio64/fopen64.c
index 84f7b6e49..aa6775116 100644
--- a/newlib/libc/stdio64/fopen64.c
+++ b/newlib/libc/stdio64/fopen64.c
@@ -91,16 +91,16 @@ _DEFUN (_fopen64_r, (ptr, file, mode),
if ((f = _open64_r (ptr, file, oflags, 0666)) < 0)
{
- _newlib_sfp_lock_start ();
+ __sfp_lock_acquire ();
fp->_flags = 0; /* release */
#ifndef __SINGLE_THREAD__
__lock_close_recursive (fp->_lock);
#endif
- _newlib_sfp_lock_end ();
+ __sfp_lock_release ();
return NULL;
}
- _newlib_flockfile_start (fp);
+ _flockfile(fp);
fp->_file = f;
fp->_flags = flags;
@@ -121,7 +121,7 @@ _DEFUN (_fopen64_r, (ptr, file, mode),
fp->_flags |= __SL64;
- _newlib_flockfile_end (fp);
+ _funlockfile(fp);
return fp;
}
diff --git a/newlib/libc/stdio64/freopen64.c b/newlib/libc/stdio64/freopen64.c
index db0e1ee0f..1e2ec7827 100644
--- a/newlib/libc/stdio64/freopen64.c
+++ b/newlib/libc/stdio64/freopen64.c
@@ -100,20 +100,11 @@ _DEFUN (_freopen64_r, (ptr, file, mode, fp),
CHECK_INIT (ptr, fp);
- /* We can't use the _newlib_flockfile_XXX macros here due to the
- interlocked locking with the sfp_lock. */
-#if !defined (__SINGLE_THREAD__) && defined (_POSIX_THREADS)
- int __oldcancel;
- pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &__oldcancel);
-#endif
- _flockfile (fp);
+ _flockfile(fp);
if ((flags = __sflags (ptr, mode, &oflags)) == 0)
{
- _funlockfile (fp);
-#if !defined (__SINGLE_THREAD__) && defined (_POSIX_THREADS)
- pthread_setcancelstate (__oldcancel, &__oldcancel);
-#endif
+ _funlockfile(fp);
_fclose_r (ptr, fp);
return NULL;
}
@@ -214,14 +205,11 @@ _DEFUN (_freopen64_r, (ptr, file, mode, fp),
__sfp_lock_acquire ();
fp->_flags = 0; /* set it free */
ptr->_errno = e; /* restore in case _close clobbered */
- _funlockfile (fp);
+ _funlockfile(fp);
#ifndef __SINGLE_THREAD__
__lock_close_recursive (fp->_lock);
#endif
__sfp_lock_release ();
-#if !defined (__SINGLE_THREAD__) && defined (_POSIX_THREADS)
- pthread_setcancelstate (__oldcancel, &__oldcancel);
-#endif
return NULL;
}
@@ -241,10 +229,7 @@ _DEFUN (_freopen64_r, (ptr, file, mode, fp),
fp->_flags |= __SL64;
- _funlockfile (fp);
-#if !defined (__SINGLE_THREAD__) && defined (_POSIX_THREADS)
- pthread_setcancelstate (__oldcancel, &__oldcancel);
-#endif
+ _funlockfile(fp);
return fp;
}
diff --git a/newlib/libc/stdio64/fseeko64.c b/newlib/libc/stdio64/fseeko64.c
index b323f97d8..301d6f54f 100644
--- a/newlib/libc/stdio64/fseeko64.c
+++ b/newlib/libc/stdio64/fseeko64.c
@@ -126,7 +126,7 @@ _DEFUN (_fseeko64_r, (ptr, fp, offset, whence),
CHECK_INIT (ptr, fp);
- _newlib_flockfile_start (fp);
+ _flockfile (fp);
curoff = fp->_offset;
@@ -144,7 +144,7 @@ _DEFUN (_fseeko64_r, (ptr, fp, offset, whence),
if ((seekfn = fp->_seek64) == NULL)
{
ptr->_errno = ESPIPE; /* ??? */
- _newlib_flockfile_exit(fp);
+ _funlockfile(fp);
return EOF;
}
@@ -169,7 +169,7 @@ _DEFUN (_fseeko64_r, (ptr, fp, offset, whence),
curoff = seekfn (ptr, fp->_cookie, (_fpos64_t) 0, SEEK_CUR);
if (curoff == -1L)
{
- _newlib_flockfile_exit(fp);
+ _funlockfile(fp);
return EOF;
}
}
@@ -194,7 +194,7 @@ _DEFUN (_fseeko64_r, (ptr, fp, offset, whence),
default:
ptr->_errno = EINVAL;
- _newlib_flockfile_exit(fp);
+ _funlockfile(fp);
return (EOF);
}
@@ -294,7 +294,7 @@ _DEFUN (_fseeko64_r, (ptr, fp, offset, whence),
if (HASUB (fp))
FREEUB (ptr, fp);
fp->_flags &= ~__SEOF;
- _newlib_flockfile_exit(fp);
+ _funlockfile(fp);
return 0;
}
@@ -323,7 +323,7 @@ _DEFUN (_fseeko64_r, (ptr, fp, offset, whence),
fp->_p += n;
fp->_r -= n;
}
- _newlib_flockfile_end(fp);
+ _funlockfile(fp);
return 0;
/*
diff --git a/newlib/libc/stdio64/ftello64.c b/newlib/libc/stdio64/ftello64.c
index c4d6da24b..51dcd2796 100644
--- a/newlib/libc/stdio64/ftello64.c
+++ b/newlib/libc/stdio64/ftello64.c
@@ -99,12 +99,12 @@ _DEFUN (_ftello64_r, (ptr, fp),
CHECK_INIT (ptr, fp);
- _newlib_flockfile_start(fp);
+ _flockfile(fp);
if (fp->_seek64 == NULL)
{
ptr->_errno = ESPIPE;
- _newlib_flockfile_exit(fp);
+ _funlockfile(fp);
return -1L;
}
@@ -121,7 +121,7 @@ _DEFUN (_ftello64_r, (ptr, fp),
pos = fp->_seek64 (ptr, fp->_cookie, (_fpos64_t) 0, SEEK_CUR);
if (pos == -1L)
{
- _newlib_flockfile_exit(fp);
+ _funlockfile(fp);
return pos;
}
}
@@ -146,7 +146,7 @@ _DEFUN (_ftello64_r, (ptr, fp),
pos += fp->_p - fp->_bf._base;
}
- _newlib_flockfile_end(fp);
+ _funlockfile(fp);
return pos;
}
diff --git a/newlib/libc/stdlib/mbtowc_r.c b/newlib/libc/stdlib/mbtowc_r.c
index d84fef5a2..7c6be69ea 100644
--- a/newlib/libc/stdlib/mbtowc_r.c
+++ b/newlib/libc/stdlib/mbtowc_r.c
@@ -78,7 +78,6 @@ typedef enum { COPY_A, COPY_J1, COPY_J2, MAKE_A, NOOP, EMPTY, ERROR } JIS_ACTION
* is 2 (switch to JIS) + 2 (JIS characters) + 2 (switch back to ASCII) = 6.
*************************************************************************************/
-#ifndef __CYGWIN__
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, ASCII, ASCII, ASCII, ASCII, ASCII, ASCII, ASCII, ASCII },
@@ -100,7 +99,6 @@ static JIS_ACTION JIS_action_table[JIS_S_NUM][JIS_C_NUM] = {
/* J_ESC */ { ERROR, ERROR, NOOP, ERROR, ERROR, ERROR, ERROR, ERROR, ERROR },
/* J_ESC_BR */{ ERROR, ERROR, ERROR, ERROR, MAKE_A, MAKE_A, ERROR, ERROR, ERROR },
};
-#endif /* !__CYGWIN__ */
/* we override the mbstate_t __count field for more complex encodings and use it store a state value */
#define __state __count
diff --git a/newlib/libc/stdlib/mprec.h b/newlib/libc/stdlib/mprec.h
index 5a71576be..dea89bf11 100644
--- a/newlib/libc/stdlib/mprec.h
+++ b/newlib/libc/stdlib/mprec.h
@@ -98,7 +98,7 @@ typedef union { double d; __ULong i[2]; } U;
#define SI 0
#endif
-#define Storeinc(a,b,c) (*(a)++ = ((b) << 16) | ((c) & 0xffff))
+#define Storeinc(a,b,c) (*(a)++ = (b) << 16 | (c) & 0xffff)
/* #define P DBL_MANT_DIG */
/* Ten_pmax = floor(P*log(2)/log(5)) */
diff --git a/newlib/libc/stdlib/wctomb_r.c b/newlib/libc/stdlib/wctomb_r.c
index 13e1e4c36..98a0b74c0 100644
--- a/newlib/libc/stdlib/wctomb_r.c
+++ b/newlib/libc/stdlib/wctomb_r.c
@@ -81,7 +81,7 @@ _DEFUN (__utf8_wctomb, (r, s, wchar, charset, state),
to return extra 3 bytes. */
wchar_t tmp;
tmp = (state->__value.__wchb[0] << 16 | state->__value.__wchb[1] << 8)
- - (0x10000 >> 10 | 0xd80d);
+ - 0x10000 >> 10 | 0xd80d;
*s++ = 0xe0 | ((tmp & 0xf000) >> 12);
*s++ = 0x80 | ((tmp & 0xfc0) >> 6);
*s++ = 0x80 | (tmp & 0x3f);
diff --git a/newlib/libc/string/Makefile.am b/newlib/libc/string/Makefile.am
index 9c12b6ecb..82035c84a 100644
--- a/newlib/libc/string/Makefile.am
+++ b/newlib/libc/string/Makefile.am
@@ -103,7 +103,6 @@ ELIX_4_SOURCES =
else
ELIX_4_SOURCES = \
memmem.c \
- memrchr.c \
wcscasecmp.c \
wcsncasecmp.c
endif !ELIX_LEVEL_3
@@ -141,7 +140,7 @@ wcsncmp.def wcsncpy.def wcsnlen.def wcspbrk.def \
wcsrchr.def wcsspn.def wcsstr.def wcstok.def \
wcswidth.def wcsxfrm.def wcwidth.def wmemchr.def \
wmemcmp.def wmemcpy.def wmemmove.def wmemset.def \
-memmem.def memrchr.def
+memmem.def
SUFFIXES = .def
diff --git a/newlib/libc/string/Makefile.in b/newlib/libc/string/Makefile.in
index 9508ff19a..001bfd40a 100644
--- a/newlib/libc/string/Makefile.in
+++ b/newlib/libc/string/Makefile.in
@@ -102,7 +102,6 @@ am__objects_1 = lib_a-bcopy.$(OBJEXT) lib_a-bzero.$(OBJEXT) \
@ELIX_LEVEL_1_FALSE@ lib_a-wcpncpy.$(OBJEXT) \
@ELIX_LEVEL_1_FALSE@ lib_a-wcsdup.$(OBJEXT)
@ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@am__objects_3 = lib_a-memmem.$(OBJEXT) \
-@ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@ lib_a-memrchr.$(OBJEXT) \
@ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@ lib_a-wcscasecmp.$(OBJEXT) \
@ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@ lib_a-wcsncasecmp.$(OBJEXT)
@USE_LIBTOOL_FALSE@am_lib_a_OBJECTS = $(am__objects_1) \
@@ -128,7 +127,6 @@ am__objects_4 = bcopy.lo bzero.lo index.lo memchr.lo memcmp.lo \
@ELIX_LEVEL_1_FALSE@ strcasestr.lo strchrnul.lo strndup_r.lo \
@ELIX_LEVEL_1_FALSE@ wcpcpy.lo wcpncpy.lo wcsdup.lo
@ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@am__objects_6 = memmem.lo \
-@ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@ memrchr.lo \
@ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@ wcscasecmp.lo \
@ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@ wcsncasecmp.lo
@USE_LIBTOOL_TRUE@am_libstring_la_OBJECTS = $(am__objects_4) \
@@ -387,7 +385,6 @@ GENERAL_SOURCES = \
@ELIX_LEVEL_1_TRUE@ELIX_2_SOURCES =
@ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@ELIX_4_SOURCES = \
@ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@ memmem.c \
-@ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@ memrchr.c \
@ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@ wcscasecmp.c \
@ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@ wcsncasecmp.c
@@ -418,7 +415,7 @@ wcsncmp.def wcsncpy.def wcsnlen.def wcspbrk.def \
wcsrchr.def wcsspn.def wcsstr.def wcstok.def \
wcswidth.def wcsxfrm.def wcwidth.def wmemchr.def \
wmemcmp.def wmemcpy.def wmemmove.def wmemset.def \
-memmem.def memrchr.def
+memmem.def
SUFFIXES = .def
CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
@@ -978,12 +975,6 @@ lib_a-memmem.o: memmem.c
lib_a-memmem.obj: memmem.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-memmem.obj `if test -f 'memmem.c'; then $(CYGPATH_W) 'memmem.c'; else $(CYGPATH_W) '$(srcdir)/memmem.c'; fi`
-lib_a-memrchr.o: memrchr.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-memrchr.o `test -f 'memrchr.c' || echo '$(srcdir)/'`memrchr.c
-
-lib_a-memrchr.obj: memrchr.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-memrchr.obj `if test -f 'memrchr.c'; then $(CYGPATH_W) 'memrchr.c'; else $(CYGPATH_W) '$(srcdir)/memrchr.c'; fi`
-
lib_a-wcscasecmp.o: wcscasecmp.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-wcscasecmp.o `test -f 'wcscasecmp.c' || echo '$(srcdir)/'`wcscasecmp.c
diff --git a/newlib/libc/string/memrchr.c b/newlib/libc/string/memrchr.c
deleted file mode 100644
index 42d9d147b..000000000
--- a/newlib/libc/string/memrchr.c
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
-FUNCTION
- <<memrchr>>---reverse search for character in memory
-
-INDEX
- memrchr
-
-ANSI_SYNOPSIS
- #include <string.h>
- void *memrchr(const void *<[src]>, int <[c]>, size_t <[length]>);
-
-TRAD_SYNOPSIS
- #include <string.h>
- void *memrchr(<[src]>, <[c]>, <[length]>)
- void *<[src]>;
- void *<[c]>;
- size_t <[length]>;
-
-DESCRIPTION
- This function searches memory starting at <[length]> bytes
- beyond <<*<[src]>>> backwards for the character <[c]>.
- The search only ends with the first occurrence of <[c]>; in
- particular, <<NUL>> 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
-<<memrchr>> is a GNU extension.
-
-<<memrchr>> requires no supporting OS subroutines.
-
-QUICKREF
- memrchr
-*/
-
-#include <_ansi.h>
-#include <string.h>
-#include <limits.h>
-
-/* Nonzero if X is not aligned on a "long" boundary. */
-#define UNALIGNED(X) ((long)(X + 1) & (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
-
-/* DETECTCHAR returns nonzero if (long)X contains the byte used
- to fill (long)MASK. */
-#define DETECTCHAR(X,MASK) (DETECTNULL(X ^ MASK))
-
-_PTR
-_DEFUN (memrchr, (src_void, c, length),
- _CONST _PTR src_void _AND
- int c _AND
- size_t length)
-{
- _CONST unsigned char *src = (_CONST unsigned char *) src_void + length - 1;
- unsigned char d = c;
-
-#if !defined(PREFER_SIZE_OVER_SPEED) && !defined(__OPTIMIZE_SIZE__)
- unsigned long *asrc;
- unsigned long mask;
- int i;
-
- while (UNALIGNED (src))
- {
- if (!length--)
- return NULL;
- if (*src == d)
- return (void *) src;
- src--;
- }
-
- if (!TOO_SMALL (length))
- {
- /* If we get this far, we know that length is large and src is
- word-aligned. */
- /* The fast code reads the source 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 NUL in the
- result. */
- asrc = (unsigned long *) (src - LBLOCKSIZE + 1);
- mask = d << 8 | d;
- mask = mask << 16 | mask;
- for (i = 32; i < LBLOCKSIZE * 8; i <<= 1)
- mask = (mask << i) | mask;
-
- while (length >= LBLOCKSIZE)
- {
- if (DETECTCHAR (*asrc, mask))
- break;
- length -= LBLOCKSIZE;
- asrc--;
- }
-
- /* If there are fewer than LBLOCKSIZE characters left,
- then we resort to the bytewise loop. */
-
- src = (unsigned char *) asrc + LBLOCKSIZE - 1;
- }
-
-#endif /* not PREFER_SIZE_OVER_SPEED */
-
- while (length--)
- {
- if (*src == d)
- return (void *) src;
- src--;
- }
-
- return NULL;
-}
diff --git a/newlib/libc/string/strcasestr.c b/newlib/libc/string/strcasestr.c
index 91783164c..0122d7ab8 100644
--- a/newlib/libc/string/strcasestr.c
+++ b/newlib/libc/string/strcasestr.c
@@ -84,11 +84,6 @@ QUICKREF
(!memchr ((h) + (h_l), '\0', (j) + (n_l) - (h_l)) \
&& ((h_l) = (j) + (n_l)))
# define CANON_ELEMENT(c) tolower (c)
-#if defined (__GNUC__) && \
- ((__GNUC__ == 4 && __GNUC_MINOR__ >= 2) || __GNUC__ > 4)
-/* strncasecmp uses signed char, CMP_FUNC is expected to use unsigned char. */
-#pragma GCC diagnostic ignored "-Wpointer-sign"
-#endif
# define CMP_FUNC strncasecmp
# include "str-two-way.h"
#endif
diff --git a/newlib/libc/sys/epiphany/Makefile.am b/newlib/libc/sys/epiphany/Makefile.am
new file mode 100644
index 000000000..c95cca536
--- /dev/null
+++ b/newlib/libc/sys/epiphany/Makefile.am
@@ -0,0 +1,43 @@
+# Copyright (c) 2011, Adapteva, Inc.
+# All rights reserved.
+
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+# * Redistributions of source code must retain the above copyright notice,
+# this list of conditions and the following disclaimer.
+# * 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.
+# * Neither the name of Adapteva 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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.
+
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+AM_CCASFLAGS = $(INCLUDES)
+
+noinst_LIBRARIES = lib.a
+
+# crt0.o comes from libgloss
+lib_a_SOURCES = e_printf.c
+lib_a_CCASFLAGS = $(AM_CCASFLAGS)
+lib_a_CFLAGS = $(AM_CFLAGS)
+
+ACLOCAL_AMFLAGS = -I ../../.. -I ../../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
diff --git a/newlib/libc/sys/epiphany/Makefile.in b/newlib/libc/sys/epiphany/Makefile.in
new file mode 100644
index 000000000..f703c3f84
--- /dev/null
+++ b/newlib/libc/sys/epiphany/Makefile.in
@@ -0,0 +1,439 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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.
+
+@SET_MAKE@
+
+# Copyright (c) 2011, Adapteva, Inc.
+# All rights reserved.
+
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+# * Redistributions of source code must retain the above copyright notice,
+# this list of conditions and the following disclaimer.
+# * 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.
+# * Neither the name of Adapteva 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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.
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = .
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/configure $(am__configure_deps) \
+ $(srcdir)/../../../../mkinstalldirs
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/../../../acinclude.m4 \
+ $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+ARFLAGS = cru
+lib_a_AR = $(AR) $(ARFLAGS)
+lib_a_LIBADD =
+am_lib_a_OBJECTS = lib_a-e_printf.$(OBJEXT)
+lib_a_OBJECTS = $(am_lib_a_OBJECTS)
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp =
+am__depfiles_maybe =
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(lib_a_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCAS = @CCAS@
+CCASFLAGS = @CCASFLAGS@
+CCDEPMODE = @CCDEPMODE@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+NO_INCLUDE_LIST = @NO_INCLUDE_LIST@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+READELF = @READELF@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+aext = @aext@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+libm_machine_dir = @libm_machine_dir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lpfx = @lpfx@
+machine_dir = @machine_dir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+newlib_basedir = @newlib_basedir@
+oext = @oext@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sys_dir = @sys_dir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AUTOMAKE_OPTIONS = cygnus
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+AM_CCASFLAGS = $(INCLUDES)
+noinst_LIBRARIES = lib.a
+
+# crt0.o comes from libgloss
+lib_a_SOURCES = e_printf.c
+lib_a_CCASFLAGS = $(AM_CCASFLAGS)
+lib_a_CFLAGS = $(AM_CFLAGS)
+ACLOCAL_AMFLAGS = -I ../../.. -I ../../../..
+CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .o .obj
+am--refresh:
+ @:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --cygnus'; \
+ $(am__cd) $(srcdir) && $(AUTOMAKE) --cygnus \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --cygnus Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ echo ' $(SHELL) ./config.status'; \
+ $(SHELL) ./config.status;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ $(am__cd) $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(lib_a_AR) lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+.c.o:
+ $(COMPILE) -c $<
+
+.c.obj:
+ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+lib_a-e_printf.o: e_printf.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-e_printf.o `test -f 'e_printf.c' || echo '$(srcdir)/'`e_printf.c
+
+lib_a-e_printf.obj: e_printf.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-e_printf.obj `if test -f 'e_printf.c'; then $(CYGPATH_W) 'e_printf.c'; else $(CYGPATH_W) '$(srcdir)/e_printf.c'; fi`
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+check-am:
+check: check-am
+all-am: Makefile $(LIBRARIES)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
+
+distclean: distclean-am
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf $(top_srcdir)/autom4te.cache
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
+ clean-generic clean-noinstLIBRARIES ctags distclean \
+ distclean-compile distclean-generic distclean-tags dvi dvi-am \
+ html html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+ uninstall-am
+
+
+# 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/epiphany/aclocal.m4 b/newlib/libc/sys/epiphany/aclocal.m4
new file mode 100644
index 000000000..f4337cf8d
--- /dev/null
+++ b/newlib/libc/sys/epiphany/aclocal.m4
@@ -0,0 +1,992 @@
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+# This file 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.
+
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
+[m4_warning([this file was generated for autoconf 2.68.
+You have another version of autoconf. It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
+
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.11'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version. Point them to the right macro.
+m4_if([$1], [1.11.1], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too. Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.11.1])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
+# Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 9
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
+# Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 10
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery. Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
+ [$1], CXX, [depcc="$CXX" am_compiler_list=],
+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], UPC, [depcc="$UPC" am_compiler_list=],
+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+ [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_$1_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+ fi
+ am__universal=false
+ m4_case([$1], [CC],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac],
+ [CXX],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac])
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_$1_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+])
+
+# Generate code to set up dependency tracking. -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file 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.
+
+#serial 5
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[{
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+ done
+}
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled. FIXME. This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Do all the work for Automake. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 16
+
+# 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.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out. PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.62])dnl
+dnl Autoconf wants to disallow AM_ names. We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES(CC)],
+ [define([AC_PROG_CC],
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+ [_AM_DEPENDENCIES(OBJC)],
+ [define([AC_PROG_OBJC],
+ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
+dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
+dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
+dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+ [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+])
+
+dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
+# From Jim Meyering
+
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 5
+
+# AM_MAINTAINER_MODE([DEFAULT-MODE])
+# ----------------------------------
+# Control maintainer-specific portions of Makefiles.
+# Default is to disable them, unless `enable' is passed literally.
+# For symmetry, `disable' may be passed as well. Anyway, the user
+# can override the default with the --enable/--disable switch.
+AC_DEFUN([AM_MAINTAINER_MODE],
+[m4_case(m4_default([$1], [disable]),
+ [enable], [m4_define([am_maintainer_other], [disable])],
+ [disable], [m4_define([am_maintainer_other], [enable])],
+ [m4_define([am_maintainer_other], [enable])
+ m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
+AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+ dnl maintainer-mode's default is 'disable' unless 'enable' is passed
+ AC_ARG_ENABLE([maintainer-mode],
+[ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ [USE_MAINTAINER_MODE=$enableval],
+ [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+ AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+ AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST([MAINT])dnl
+]
+)
+
+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
+
+# Check to see how 'make' treats includes. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 4
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 6
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check for `mkdir -p'.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+ [[\\/$]]* | ?:[[\\/]]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+
+# Helper functions for option handling. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 4
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME. Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 5
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[[\\\"\#\$\&\'\`$am_lf]]*)
+ AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+ *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
+ AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+esac
+
+# 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" conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $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]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006, 2008 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 2
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
+# Check how to create a tarball. -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+#
+# This file 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.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+# tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+# $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+ [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+ [m4_case([$1], [ustar],, [pax],,
+ [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar;
+ do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([../../../acinclude.m4])
diff --git a/newlib/libc/sys/epiphany/configure b/newlib/libc/sys/epiphany/configure
new file mode 100755
index 000000000..f8faef7c9
--- /dev/null
+++ b/newlib/libc/sys/epiphany/configure
@@ -0,0 +1,4745 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.68 for newlib 1.20.0.
+#
+#
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
+# Foundation, Inc.
+#
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in #(
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test "x$CONFIG_SHELL" = x; then
+ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else
+ case \`(set -o) 2>/dev/null\` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+"
+ as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+ exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1"
+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1"
+ if (eval "$as_required") 2>/dev/null; then :
+ as_have_required=yes
+else
+ as_have_required=no
+fi
+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ as_found=:
+ case $as_dir in #(
+ /*)
+ for as_base in sh bash ksh sh5; do
+ # Try only shells that exist, to save several forks.
+ as_shell=$as_dir/$as_base
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ CONFIG_SHELL=$as_shell as_have_required=yes
+ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ break 2
+fi
+fi
+ done;;
+ esac
+ as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+ CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+ if test "x$CONFIG_SHELL" != x; then :
+ # We cannot yet assume a decent shell, so we have to provide a
+ # neutralization value for shells without unset; and this also
+ # works around shells that cannot unset nonexistent variables.
+ # Preserve -v and -x to the replacement shell.
+ BASH_ENV=/dev/null
+ ENV=/dev/null
+ (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+ export CONFIG_SHELL
+ case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+ esac
+ exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
+fi
+
+ if test x$as_have_required = xno; then :
+ $as_echo "$0: This script requires a shell more modern than all"
+ $as_echo "$0: the shells that I found on your system."
+ if test x${ZSH_VERSION+set} = xset ; then
+ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+ $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+ else
+ $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
+$0: including any error possibly output before this
+$0: message. Then install a modern shell, or manually run
+$0: the script under such a shell if you do have one."
+ fi
+ exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+
+ as_lineno_1=$LINENO as_lineno_1a=$LINENO
+ as_lineno_2=$LINENO as_lineno_2a=$LINENO
+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -p'
+ fi
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p='mkdir -p "$as_dir"'
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in #(
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+
+# Identity of this package.
+PACKAGE_NAME='newlib'
+PACKAGE_TARNAME='newlib'
+PACKAGE_VERSION='1.20.0'
+PACKAGE_STRING='newlib 1.20.0'
+PACKAGE_BUGREPORT=''
+PACKAGE_URL=''
+
+ac_unique_file="e_printf.c"
+ac_subst_vars='LTLIBOBJS
+LIBOBJS
+sys_dir
+machine_dir
+libm_machine_dir
+lpfx
+aext
+oext
+OBJEXT
+USE_LIBTOOL_FALSE
+USE_LIBTOOL_TRUE
+ELIX_LEVEL_4_FALSE
+ELIX_LEVEL_4_TRUE
+ELIX_LEVEL_3_FALSE
+ELIX_LEVEL_3_TRUE
+ELIX_LEVEL_2_FALSE
+ELIX_LEVEL_2_TRUE
+ELIX_LEVEL_1_FALSE
+ELIX_LEVEL_1_TRUE
+ELIX_LEVEL_0_FALSE
+ELIX_LEVEL_0_TRUE
+LDFLAGS
+NO_INCLUDE_LIST
+NEWLIB_CFLAGS
+CCASFLAGS
+CCAS
+MAINT
+MAINTAINER_MODE_FALSE
+MAINTAINER_MODE_TRUE
+READELF
+RANLIB
+AR
+AS
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__quote
+am__include
+DEPDIR
+CC
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+newlib_basedir
+MAY_SUPPLY_SYSCALLS_FALSE
+MAY_SUPPLY_SYSCALLS_TRUE
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_URL
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_multilib
+enable_target_optspace
+enable_malloc_debugging
+enable_newlib_multithread
+enable_newlib_iconv
+enable_newlib_elix_level
+enable_newlib_io_float
+enable_newlib_supplied_syscalls
+enable_dependency_tracking
+enable_maintainer_mode
+'
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+CCAS
+CCASFLAGS'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+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=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *=) ac_optarg= ;;
+ *) ac_optarg=yes ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
+
+ -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_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$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 ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
+ datadir=$ac_optarg ;;
+
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
+
+ -enable-* | --enable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=\$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 | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$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 ;;
+
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst | --locals)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+ 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 | -n)
+ 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 ;;
+
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$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_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=\$ac_optarg ;;
+
+ -without-* | --without-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=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 ;;
+
+ -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ case $ac_envvar in #(
+ '' | [0-9]* | *[!_$as_cr_alnum]* )
+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+ esac
+ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ as_fn_error $? "missing argument to $ac_option"
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ esac
+fi
+
+# Check all directory arguments for consistency.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir
+do
+ eval ac_val=\$$ac_var
+ # Remove trailing slashes.
+ case $ac_val in
+ */ )
+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+ eval $ac_var=\$ac_val;;
+ esac
+ # Be sure to have absolute directory names.
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used" >&2
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ as_fn_error $? "working directory cannot be determined"
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ as_fn_error $? "pwd does not report name of working directory"
+
+
+# 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 the parent directory.
+ ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_myself" : 'X\(//\)[^/]' \| \
+ X"$as_myself" : 'X\(//\)$' \| \
+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ 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
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # 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 <<_ACEOF
+\`configure' configures newlib 1.20.0 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking ...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/newlib]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
+_ACEOF
+
+ cat <<\_ACEOF
+
+Program names:
+ --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
+
+System types:
+ --build=BUILD configure for building on BUILD [guessed]
+ --host=HOST cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+ case $ac_init_help in
+ short | recursive ) echo "Configuration of newlib 1.20.0:";;
+ esac
+ cat <<\_ACEOF
+
+Optional Features:
+ --disable-option-checking ignore unrecognized --enable/--with options
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --enable-multilib build many library versions (default)
+ --enable-target-optspace optimize for space
+ --enable-malloc-debugging indicate malloc debugging requested
+ --enable-newlib-multithread enable support for multiple threads
+ --enable-newlib-iconv enable iconv library support
+ --enable-newlib-elix-level supply desired elix library level (1-4)
+ --disable-newlib-io-float disable printf/scanf family float support
+ --disable-newlib-supplied-syscalls disable newlib from supplying syscalls
+ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer
+
+Some influential environment variables:
+ CCAS assembler compiler command (defaults to CC)
+ CCASFLAGS assembler compiler flags (defaults to CFLAGS)
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to the package provider.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d "$ac_dir" ||
+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+ continue
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for guested configure.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
+ else
+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
+ done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+ cat <<\_ACEOF
+newlib configure 1.20.0
+generated by GNU Autoconf 2.68
+
+Copyright (C) 2010 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit
+fi
+
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
+
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext
+ if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_compile
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by newlib $as_me 1.20.0, which was
+generated by GNU Autoconf 2.68. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ $as_echo "PATH: $as_dir"
+ done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *\'*)
+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+ 2)
+ as_fn_append ac_configure_args1 " '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ as_fn_append ac_configure_args " '$ac_arg'"
+ ;;
+ esac
+ done
+done
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ $as_echo "## ---------------- ##
+## Cache variables. ##
+## ---------------- ##"
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
+ esac ;;
+ esac
+ done
+ (set) 2>&1 |
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ sed -n \
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
+ *)
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+)
+ echo
+
+ $as_echo "## ----------------- ##
+## Output variables. ##
+## ----------------- ##"
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ $as_echo "## ------------------- ##
+## File substitutions. ##
+## ------------------- ##"
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ $as_echo "## ----------- ##
+## confdefs.h. ##
+## ----------- ##"
+ echo
+ cat confdefs.h
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ $as_echo "$as_me: caught signal $ac_signal"
+ $as_echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+$as_echo "/* confdefs.h */" > confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+ # We do not want a PATH search for config.site.
+ case $CONFIG_SITE in #((
+ -*) ac_site_file1=./$CONFIG_SITE;;
+ */*) ac_site_file1=$CONFIG_SITE;;
+ *) ac_site_file1=./$CONFIG_SITE;;
+ esac
+elif test "x$prefix" != xNONE; then
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
+else
+ ac_site_file1=$ac_default_prefix/share/config.site
+ ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+ test "x$ac_site_file" = xNONE && continue
+ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file" \
+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special files
+ # actually), so we avoid doing that. DJGPP emulates it as a regular file.
+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
+ esac
+ fi
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ # differences in whitespace do not lead to failure.
+ ac_old_val_w=`echo x $ac_old_val`
+ ac_new_val_w=`echo x $ac_new_val`
+ if test "$ac_old_val_w" != "$ac_new_val_w"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ ac_cache_corrupted=:
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+ eval $ac_var=\$ac_old_val
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+fi
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+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
+ elif test -f "$ac_dir/shtool"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in ../../../.. \"$srcdir\"/../../../.." "$LINENO" 5
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
+
+
+
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if ${ac_cv_build+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if ${ac_cv_host+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$host_alias" = x; then
+ ac_cv_host=$ac_cv_build
+else
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+am__api_version='1.11'
+
+# 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
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# 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"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if ${ac_cv_path_install+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in #((
+ ./ | .// | /[cC]/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
+ /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
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ rm -rf conftest.one conftest.two conftest.dir
+ echo one > conftest.one
+ echo two > conftest.two
+ mkdir conftest.dir
+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+ test -s conftest.one && test -s conftest.two &&
+ test -s conftest.dir/conftest.one &&
+ test -s conftest.dir/conftest.two
+ then
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+
+ done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
+
+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. Don't cache a
+ # value for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ INSTALL=$ac_install_sh
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&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}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[\\\"\#\$\&\'\`$am_lf]*)
+ as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
+esac
+case $srcdir in
+ *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
+ as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+esac
+
+# 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" conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $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".
+ as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
+alias in your environment" "$LINENO" 5
+ fi
+
+ test "$2" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ as_fn_error $? "newly created file is older than distributed files!
+Check your system clock" "$LINENO" 5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+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"
+# Double any \ or $.
+# By default was `s,x,x', remove it if useless.
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+if test -z "$MKDIR_P"; then
+ if ${ac_cv_path_mkdir+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in mkdir gmkdir; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+ case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+ 'mkdir (GNU coreutils) '* | \
+ 'mkdir (coreutils) '* | \
+ 'mkdir (fileutils) '4.1*)
+ ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+ break 3;;
+ esac
+ done
+ done
+ done
+IFS=$as_save_IFS
+
+fi
+
+ test -d ./--version && rmdir ./--version
+ if test "${ac_cv_path_mkdir+set}" = set; then
+ MKDIR_P="$ac_cv_path_mkdir -p"
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for MKDIR_P within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ MKDIR_P="$ac_install_sh -d"
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
+
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+ [\\/$]* | ?:[\\/]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+
+for ac_prog in gawk mawk nawk awk
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AWK+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AWK"; then
+ ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AWK="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$AWK" && break
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ SET_MAKE=
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then :
+ enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+ AMDEP_TRUE=
+ AMDEP_FALSE='#'
+else
+ AMDEP_TRUE='#'
+ AMDEP_FALSE=
+fi
+
+
+
+# Check whether --enable-multilib was given.
+if test "${enable_multilib+set}" = set; then :
+ enableval=$enable_multilib; case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) as_fn_error $? "bad value ${enableval} for multilib option" "$LINENO" 5 ;;
+ esac
+else
+ multilib=yes
+fi
+
+# Check whether --enable-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 ;;
+ *) as_fn_error $? "bad value ${enableval} for target-optspace option" "$LINENO" 5 ;;
+ esac
+else
+ target_optspace=
+fi
+
+# Check whether --enable-malloc-debugging was given.
+if test "${enable_malloc_debugging+set}" = set; then :
+ enableval=$enable_malloc_debugging; case "${enableval}" in
+ yes) malloc_debugging=yes ;;
+ no) malloc_debugging=no ;;
+ *) as_fn_error $? "bad value ${enableval} for malloc-debugging option" "$LINENO" 5 ;;
+ esac
+else
+ malloc_debugging=
+fi
+
+# Check whether --enable-newlib-multithread was given.
+if test "${enable_newlib_multithread+set}" = set; then :
+ enableval=$enable_newlib_multithread; case "${enableval}" in
+ yes) newlib_multithread=yes ;;
+ no) newlib_multithread=no ;;
+ *) as_fn_error $? "bad value ${enableval} for newlib-multithread option" "$LINENO" 5 ;;
+ esac
+else
+ newlib_multithread=yes
+fi
+
+# Check whether --enable-newlib-iconv was given.
+if test "${enable_newlib_iconv+set}" = set; then :
+ enableval=$enable_newlib_iconv; if test "${newlib_iconv+set}" != set; then
+ case "${enableval}" in
+ yes) newlib_iconv=yes ;;
+ no) newlib_iconv=no ;;
+ *) as_fn_error $? "bad value ${enableval} for newlib-iconv option" "$LINENO" 5 ;;
+ esac
+ fi
+else
+ newlib_iconv=${newlib_iconv}
+fi
+
+# Check whether --enable-newlib-elix-level was given.
+if test "${enable_newlib_elix_level+set}" = set; then :
+ enableval=$enable_newlib_elix_level; case "${enableval}" in
+ 0) newlib_elix_level=0 ;;
+ 1) newlib_elix_level=1 ;;
+ 2) newlib_elix_level=2 ;;
+ 3) newlib_elix_level=3 ;;
+ 4) newlib_elix_level=4 ;;
+ *) as_fn_error $? "bad value ${enableval} for newlib-elix-level option" "$LINENO" 5 ;;
+ esac
+else
+ newlib_elix_level=0
+fi
+
+# Check whether --enable-newlib-io-float was given.
+if test "${enable_newlib_io_float+set}" = set; then :
+ enableval=$enable_newlib_io_float; case "${enableval}" in
+ yes) newlib_io_float=yes ;;
+ no) newlib_io_float=no ;;
+ *) as_fn_error $? "bad value ${enableval} for newlib-io-float option" "$LINENO" 5 ;;
+ esac
+else
+ newlib_io_float=yes
+fi
+
+# Check whether --enable-newlib-supplied-syscalls was given.
+if test "${enable_newlib_supplied_syscalls+set}" = set; then :
+ enableval=$enable_newlib_supplied_syscalls; case "${enableval}" in
+ yes) newlib_may_supply_syscalls=yes ;;
+ no) newlib_may_supply_syscalls=no ;;
+ *) as_fn_error $? "bad value ${enableval} for newlib-supplied-syscalls option" "$LINENO" 5 ;;
+ esac
+else
+ newlib_may_supply_syscalls=yes
+fi
+
+ if test x${newlib_may_supply_syscalls} = xyes; then
+ MAY_SUPPLY_SYSCALLS_TRUE=
+ MAY_SUPPLY_SYSCALLS_FALSE='#'
+else
+ MAY_SUPPLY_SYSCALLS_TRUE='#'
+ MAY_SUPPLY_SYSCALLS_FALSE=
+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
+
+
+
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ am__isrc=' -I$(srcdir)'
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='newlib'
+ VERSION='1.20.0'
+
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+
+
+
+
+
+
+# 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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+depcc="$CC" am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CC_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ am__universal=false
+ case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CC_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+ am__fastdepCC_TRUE=
+ am__fastdepCC_FALSE='#'
+else
+ am__fastdepCC_TRUE='#'
+ am__fastdepCC_FALSE=
+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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_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 $# != 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
+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -z "$CC" && as_fn_error $? "no acceptable cc found in \$PATH" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using GNU C" >&5
+$as_echo_n "checking whether we are using GNU C... " >&6; }
+if ${ac_cv_c_compiler_gnu+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_c_compiler_gnu=yes
+else
+ ac_cv_c_compiler_gnu=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+
+if test $ac_cv_c_compiler_gnu = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if ${ac_cv_prog_cc_g+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+else
+ CFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+ 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
+
+
+if test -n "$ac_tool_prefix"; then
+ # 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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AS+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AS=$ac_cv_prog_AS
+if test -n "$AS"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
+$as_echo "$AS" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_AS"; then
+ ac_ct_AS=$AS
+ # Extract the first word of "as", so it can be a program name with args.
+set dummy as; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AS+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_AS"; then
+ ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_AS="as"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AS=$ac_cv_prog_ac_ct_AS
+if test -n "$ac_ct_AS"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5
+$as_echo "$ac_ct_AS" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_AS" = x; then
+ AS=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AS=$ac_ct_AS
+ fi
+else
+ AS="$ac_cv_prog_AS"
+fi
+
+if test -n "$ac_tool_prefix"; then
+ # 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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_AR"; then
+ ac_ct_AR=$AR
+ # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_AR"; then
+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_AR="ar"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_AR" = x; then
+ AR=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
+else
+ AR="$ac_cv_prog_AR"
+fi
+
+if test -n "$ac_tool_prefix"; then
+ # 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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_RANLIB+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_RANLIB"; then
+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
+else
+ RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}readelf", so it can be a program name with args.
+set dummy ${ac_tool_prefix}readelf; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_READELF+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$READELF"; then
+ ac_cv_prog_READELF="$READELF" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_READELF="${ac_tool_prefix}readelf"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+READELF=$ac_cv_prog_READELF
+if test -n "$READELF"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $READELF" >&5
+$as_echo "$READELF" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_READELF"; then
+ ac_ct_READELF=$READELF
+ # Extract the first word of "readelf", so it can be a program name with args.
+set dummy readelf; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_READELF+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_READELF"; then
+ ac_cv_prog_ac_ct_READELF="$ac_ct_READELF" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_READELF="readelf"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_READELF=$ac_cv_prog_ac_ct_READELF
+if test -n "$ac_ct_READELF"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_READELF" >&5
+$as_echo "$ac_ct_READELF" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_READELF" = x; then
+ READELF=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ READELF=$ac_ct_READELF
+ fi
+else
+ READELF="$ac_cv_prog_READELF"
+fi
+
+
+
+
+# Hack to ensure that INSTALL won't be set to "../" with autoconf 2.13. */
+ac_given_INSTALL=$INSTALL
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
+$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
+ # Check whether --enable-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
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
+$as_echo "$USE_MAINTAINER_MODE" >&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
+
+
+# By default we simply use the C compiler to build assembly code.
+
+test "${CCAS+set}" = set || CCAS=$CC
+test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
+
+
+
+
+# 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
+
+ dummy_var=1
+fi
+
+. ${newlib_basedir}/configure.host
+
+newlib_cflags="${newlib_cflags} -fno-builtin"
+
+NEWLIB_CFLAGS=${newlib_cflags}
+
+
+NO_INCLUDE_LIST=${noinclude}
+
+
+LDFLAGS=${ldflags}
+
+
+ if test x${newlib_elix_level} = x0; then
+ ELIX_LEVEL_0_TRUE=
+ ELIX_LEVEL_0_FALSE='#'
+else
+ ELIX_LEVEL_0_TRUE='#'
+ ELIX_LEVEL_0_FALSE=
+fi
+
+ if test x${newlib_elix_level} = x1; then
+ ELIX_LEVEL_1_TRUE=
+ ELIX_LEVEL_1_FALSE='#'
+else
+ ELIX_LEVEL_1_TRUE='#'
+ ELIX_LEVEL_1_FALSE=
+fi
+
+ if test x${newlib_elix_level} = x2; then
+ ELIX_LEVEL_2_TRUE=
+ ELIX_LEVEL_2_FALSE='#'
+else
+ ELIX_LEVEL_2_TRUE='#'
+ ELIX_LEVEL_2_FALSE=
+fi
+
+ if test x${newlib_elix_level} = x3; then
+ ELIX_LEVEL_3_TRUE=
+ ELIX_LEVEL_3_FALSE='#'
+else
+ ELIX_LEVEL_3_TRUE='#'
+ ELIX_LEVEL_3_FALSE=
+fi
+
+ if test x${newlib_elix_level} = x4; then
+ ELIX_LEVEL_4_TRUE=
+ ELIX_LEVEL_4_FALSE='#'
+else
+ ELIX_LEVEL_4_TRUE='#'
+ ELIX_LEVEL_4_FALSE=
+fi
+
+
+ if test x${use_libtool} = xyes; then
+ USE_LIBTOOL_TRUE=
+ USE_LIBTOOL_FALSE='#'
+else
+ USE_LIBTOOL_TRUE='#'
+ USE_LIBTOOL_FALSE=
+fi
+
+
+# Hard-code OBJEXT. Normally it is set by AC_OBJEXT, but we
+# use oext, which is set in configure.host based on the target platform.
+OBJEXT=${oext}
+
+
+
+
+
+
+
+
+
+
+
+ac_config_files="$ac_config_files Makefile"
+
+cat >confcache <<\_ACEOF
+# 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, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# 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.
+(
+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
+ esac ;;
+ esac
+ done
+
+ (set) 2>&1 |
+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ # `set' does not quote correctly, so add quotes: double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \.
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;; #(
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+) |
+ sed '
+ /^ac_cv_env_/b end
+ t clear
+ :clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+ if test "x$cache_file" != "x/dev/null"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+ if test ! -f "$cache_file" || test -h "$cache_file"; then
+ cat confcache >"$cache_file"
+ else
+ case $cache_file in #(
+ */* | ?:*)
+ mv -f confcache "$cache_file"$$ &&
+ mv -f "$cache_file"$$ "$cache_file" ;; #(
+ *)
+ mv -f confcache "$cache_file" ;;
+ esac
+ fi
+ fi
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then branch to the quote section. Otherwise,
+# look for a macro that doesn't take arguments.
+ac_script='
+:mline
+/\\$/{
+ N
+ s,\\\n,,
+ b mline
+}
+t clear
+:clear
+s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g
+t quote
+s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g
+t quote
+b any
+:quote
+s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g
+s/\[/\\&/g
+s/\]/\\&/g
+s/\$/$$/g
+H
+:any
+${
+ g
+ s/^\n//
+ s/\n/ /g
+ p
+}
+'
+DEFS=`sed -n "$ac_script" confdefs.h`
+
+
+ac_libobjs=
+ac_ltlibobjs=
+U=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+ # will be set to the directory where LIBOBJS objects are built.
+ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+if test -z "${MAY_SUPPLY_SYSCALLS_TRUE}" && test -z "${MAY_SUPPLY_SYSCALLS_FALSE}"; then
+ as_fn_error $? "conditional \"MAY_SUPPLY_SYSCALLS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+ as_fn_error $? "conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+ as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
+ as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ELIX_LEVEL_0_TRUE}" && test -z "${ELIX_LEVEL_0_FALSE}"; then
+ as_fn_error $? "conditional \"ELIX_LEVEL_0\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ELIX_LEVEL_1_TRUE}" && test -z "${ELIX_LEVEL_1_FALSE}"; then
+ as_fn_error $? "conditional \"ELIX_LEVEL_1\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ELIX_LEVEL_2_TRUE}" && test -z "${ELIX_LEVEL_2_FALSE}"; then
+ as_fn_error $? "conditional \"ELIX_LEVEL_2\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ELIX_LEVEL_3_TRUE}" && test -z "${ELIX_LEVEL_3_FALSE}"; then
+ as_fn_error $? "conditional \"ELIX_LEVEL_3\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ELIX_LEVEL_4_TRUE}" && test -z "${ELIX_LEVEL_4_FALSE}"; then
+ as_fn_error $? "conditional \"ELIX_LEVEL_4\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${USE_LIBTOOL_TRUE}" && test -z "${USE_LIBTOOL_FALSE}"; then
+ as_fn_error $? "conditional \"USE_LIBTOOL\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+: "${CONFIG_STATUS=./config.status}"
+ac_write_fail=0
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in #(
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
+
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -p'
+ fi
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p='mkdir -p "$as_dir"'
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in #(
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# Save the log message, to keep $0 and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by newlib $as_me 1.20.0, which was
+generated by GNU Autoconf 2.68. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_commands="$ac_config_commands"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ac_cs_usage="\
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration. Unless the files
+and actions are specified as TAGs, all are instantiated by default.
+
+Usage: $0 [OPTION]... [TAG]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number and configuration settings, then exit
+ --config print configuration, then exit
+ -q, --quiet, --silent
+ do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+
+Configuration files:
+$config_files
+
+Configuration commands:
+$config_commands
+
+Report bugs to the package provider."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_version="\\
+newlib config.status 1.20.0
+configured by $0, generated by GNU Autoconf 2.68,
+ with options \\"\$ac_cs_config\\"
+
+Copyright (C) 2010 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=?*)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ --*=)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=
+ ac_shift=:
+ ;;
+ *)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ $as_echo "$ac_cs_version"; exit ;;
+ --config | --confi | --conf | --con | --co | --c )
+ $as_echo "$ac_cs_config"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ '') as_fn_error $? "missing file argument" ;;
+ esac
+ as_fn_append CONFIG_FILES " '$ac_optarg'"
+ ac_need_defaults=false;;
+ --he | --h | --help | --hel | -h )
+ $as_echo "$ac_cs_usage"; exit ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) as_fn_error $? "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
+
+ *) as_fn_append ac_config_targets " $1"
+ ac_need_defaults=false ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+if \$ac_cs_recheck; then
+ set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ shift
+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+ CONFIG_SHELL='$SHELL'
+ export CONFIG_SHELL
+ exec "\$@"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+ $as_echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#
+# INIT-COMMANDS
+#
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+ case $ac_config_target in
+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+
+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+ esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+ tmp= ac_tmp=
+ trap 'exit_status=$?
+ : "${ac_tmp:=$tmp}"
+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
+' 0
+ trap 'as_fn_exit 1' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+ test -d "$tmp"
+} ||
+{
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+ eval ac_cr=\$\'\\r\'
+fi
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+ ac_cs_awk_cr='\\r'
+else
+ ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+ echo "cat >conf$$subs.awk <<_ACEOF" &&
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+} >conf$$subs.sh ||
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ . ./conf$$subs.sh ||
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+
+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+ if test $ac_delim_n = $ac_delim_num; then
+ break
+ elif $ac_last_try; then
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\)..*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\)..*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+ N
+ s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
+ for (key in S) S_is_set[key] = 1
+ FS = ""
+
+}
+{
+ line = $ 0
+ nfields = split(line, field, "@")
+ substed = 0
+ len = length(field[1])
+ for (i = 2; i < nfields; i++) {
+ key = field[i]
+ keylen = length(key)
+ if (S_is_set[key]) {
+ value = S[key]
+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+ len += length(value) + length(field[++i])
+ substed = 1
+ } else
+ len += 1 + keylen
+ }
+
+ print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+ cat
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
+h
+s///
+s/^/:/
+s/[ ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
+s/:*$//
+x
+s/\(=[ ]*\).*/\1/
+G
+s/\n//
+s/^[^=]*=[ ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+
+
+eval set X " :F $CONFIG_FILES :C $CONFIG_COMMANDS"
+shift
+for ac_tag
+do
+ case $ac_tag in
+ :[FHLC]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$1
+ shift
+
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$ac_tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+ esac
+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ as_fn_append ac_file_inputs " '$ac_f'"
+ done
+
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input='Generated from '`
+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+ `' by configure.'
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+ fi
+ # Neutralize special characters interpreted by sed in replacement strings.
+ case $configure_input in #(
+ *\&* | *\|* | *\\* )
+ ac_sed_conf_input=`$as_echo "$configure_input" |
+ sed 's/[\\\\&|]/\\\\&/g'`;; #(
+ *) ac_sed_conf_input=$configure_input;;
+ esac
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$ac_tmp/stdin" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+ esac
+ ;;
+ esac
+
+ ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ as_dir="$ac_dir"; as_fn_mkdir_p
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+ case $ac_mode in
+ :F)
+ #
+ # CONFIG_FILE
+ #
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+ esac
+ ac_MKDIR_P=$MKDIR_P
+ case $MKDIR_P in
+ [\\/$]* | ?:[\\/]* ) ;;
+ */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+ esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+ac_sed_dataroot='
+/datarootdir/ {
+ p
+ q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_datarootdir_hack='
+ s&@datadir@&$datadir&g
+ s&@docdir@&$docdir&g
+ s&@infodir@&$infodir&g
+ s&@localedir@&$localedir&g
+ s&@mandir@&$mandir&g
+ s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
+ "$ac_tmp/out"`; test -z "$ac_out"; } &&
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined" >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined" >&2;}
+
+ rm -f "$ac_tmp/stdin"
+ case $ac_file in
+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
+ esac \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ ;;
+
+
+ :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+ esac
+
+
+ case $ac_file$ac_mode in
+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`$as_dirname -- "$mf" ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$mf" : 'X\(//\)[^/]' \| \
+ X"$mf" : 'X\(//\)$' \| \
+ X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$mf" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`$as_dirname -- "$file" ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$file" : 'X\(//\)[^/]' \| \
+ X"$file" : 'X\(//\)$' \| \
+ X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ as_dir=$dirpart/$fdir; as_fn_mkdir_p
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+ done
+}
+ ;;
+
+ esac
+done # for ac_tag
+
+
+as_fn_exit 0
+_ACEOF
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || as_fn_exit 1
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+
diff --git a/newlib/libc/sys/epiphany/configure.in b/newlib/libc/sys/epiphany/configure.in
new file mode 100644
index 000000000..0e08f6e03
--- /dev/null
+++ b/newlib/libc/sys/epiphany/configure.in
@@ -0,0 +1,41 @@
+dnl This is the newlib/libc/sys/epiphany configure.in file.
+
+dnl Copyright (c) 2011, Adapteva, Inc.
+dnl All rights reserved.
+
+dnl Redistribution and use in source and binary forms, with or without
+dnl modification, are permitted provided that the following conditions are met:
+dnl * Redistributions of source code must retain the above copyright notice,
+dnl this list of conditions and the following disclaimer.
+dnl * Redistributions in binary form must reproduce the above copyright
+dnl notice, this list of conditions and the following disclaimer in the
+dnl documentation and/or other materials provided with the distribution.
+dnl * Neither the name of Adapteva nor the names of its contributors may be
+dnl used to endorse or promote products derived from this software without
+dnl specific prior written permission.
+
+dnl THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+dnl AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+dnl IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+dnl ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+dnl LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+dnl CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+dnl SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+dnl INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+dnl CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+dnl ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+dnl POSSIBILITY OF SUCH DAMAGE.
+
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.59)
+AC_INIT([newlib],[NEWLIB_VERSION])
+AC_CONFIG_SRCDIR([e_printf.c])
+
+dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(../../../..)
+
+NEWLIB_CONFIGURE(../../..)
+
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
diff --git a/newlib/libc/sys/epiphany/e_printf.c b/newlib/libc/sys/epiphany/e_printf.c
new file mode 100644
index 000000000..a93c34320
--- /dev/null
+++ b/newlib/libc/sys/epiphany/e_printf.c
@@ -0,0 +1,150 @@
+/* e_printf.c
+
+ Copyright (c) 2011, Adapteva, Inc.
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ * 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.
+ * Neither the name of Adapteva 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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 <stdarg.h>
+#include <string.h>
+
+
+
+
+int trap_7( char *s , int _bsize, int _argsize) {
+ volatile register void* buff_adrr asm("r0") = s;
+ volatile register unsigned bsize asm("r1") = _bsize;
+ volatile register unsigned argsize asm("r2") = _argsize;
+ volatile register int result asm("r0");
+ __asm__ __volatile__ ("trap 7" : "=r" (result) : "r" (buff_adrr), "r" (bsize) , "r" (argsize));
+ return result;
+
+}
+
+//#include <stdio.h>
+//#include <string.h>
+//#include <stdlib.h>
+
+volatile static int*fp_int =0;
+volatile int getIntFromFloat(float *f) {
+ fp_int= (int*)f;
+
+ return *fp_int;
+}
+
+
+int e_printf(const char *fmt, ...) {
+
+ char buf[256],*p,*fmt_p;
+ va_list args;
+ int percentMet=0;
+ int pos = 0;
+
+ char *v_arg_s;
+ unsigned v_arg_int;
+ float fl_f[1];
+
+ unsigned fmt_len = strnlen(fmt,128);
+
+ fmt_p = (char*)fmt;
+
+ //printf("---- 111 +++ %d \n", strlen(fmt));
+
+ va_start(args, fmt);
+
+ p = (char*)buf;
+
+ strcpy(buf,fmt);
+ pos =fmt_len;
+ p[pos] = '\0';
+ pos++;
+
+ va_start(args, fmt);
+
+ while (*fmt_p) {
+
+// putchar(*p);
+// puts("");
+
+ if(*fmt_p == '%') {
+ percentMet=1;
+ }
+ if(*fmt_p == 's' && percentMet == 1 ) {
+ percentMet=0;
+ v_arg_s = va_arg(args, char *);
+ if (!v_arg_s) v_arg_s = "<NULL>";
+
+ strcpy(p + pos , v_arg_s );
+ pos+=strlen(v_arg_s);
+
+ p[pos] = '\0';
+ pos++;
+ }
+
+ if((*fmt_p == 'i' || *fmt_p == 'd' || *fmt_p == 'u' || *fmt_p == 'x' || *fmt_p == 'f' ) && percentMet == 1 ) {
+ percentMet=0;
+ if(*fmt_p == 'f' ) {
+ fl_f[0] = (float)va_arg(args, double);
+ //printf("v_arg_ float --- %f \n", fl_f[0]);
+ //printf("v_arg_ p --- %x \n", *( (unsigned *)fl_f));
+
+ v_arg_int = getIntFromFloat (fl_f);
+
+ //v_arg_int = 0;
+
+ } else {
+ v_arg_int = (int)va_arg(args, int);
+ }
+
+// if(*fmt_p == 'd') {
+// printf("v_arg_int --- %d \n", v_arg_int);
+// }
+// if(*fmt_p == 'x') {
+// printf("v_arg_int --- %x \n", v_arg_int);
+// }
+// if(*fmt_p == 'f') {
+// printf("fff++v_arg_int --- %x \n", v_arg_int);
+// fl = (float*)&v_arg_int;
+// printf("fff++ v_arg_float --- %f \n", *fl);
+// }
+
+ *(p + pos) = ((v_arg_int>>24) & 0xff);
+ pos++;
+ *(p + pos) = ((v_arg_int>>16) & 0xff);
+ pos++;
+ *(p + pos) = ((v_arg_int>>8) & 0xff);
+ pos++;
+ *(p + pos) = ((v_arg_int>>0) & 0xff);
+ pos++;
+ }
+
+ fmt_p++;
+ }
+
+ va_end(args);
+
+ //printf(" +++ %d %d \n" , strlen(fmt), pos);
+
+ return trap_7((char*)buf ,fmt_len, pos) ;
+ //return 1;
+}
diff --git a/newlib/libc/sys/h8300hms/sys/file.h b/newlib/libc/sys/h8300hms/sys/file.h
index 8876bd581..dd87705fa 100644
--- a/newlib/libc/sys/h8300hms/sys/file.h
+++ b/newlib/libc/sys/h8300hms/sys/file.h
@@ -3,7 +3,7 @@
* Copyright (C) 1991 DJ Delorie
* All rights reserved.
*
- * Redistribution, modification, and use in source and binary forms is permitted
+ * Redistribution and use in source and binary forms is permitted
* provided that the above copyright notice and following paragraph are
* duplicated in all such forms.
*
diff --git a/newlib/libc/sys/linux/machine/i386/setjmp.S b/newlib/libc/sys/linux/machine/i386/setjmp.S
index 415638a08..d276f55fb 100644
--- a/newlib/libc/sys/linux/machine/i386/setjmp.S
+++ b/newlib/libc/sys/linux/machine/i386/setjmp.S
@@ -8,7 +8,7 @@
* Copyright (C) 1991 DJ Delorie
* All rights reserved.
*
- * Redistribution, modification, and use in source and binary forms is permitted
+ * Redistribution and use in source and binary forms is permitted
* provided that the above copyright notice and following paragraph are
* duplicated in all such forms.
*
diff --git a/newlib/libc/sys/rtems/crt0.c b/newlib/libc/sys/rtems/crt0.c
index e47d933f6..1565859c3 100644
--- a/newlib/libc/sys/rtems/crt0.c
+++ b/newlib/libc/sys/rtems/crt0.c
@@ -50,7 +50,6 @@ int rtems_gxx_recursive_mutex_unlock() { return -1; }
#endif
/* stubs for functions RTEMS provides */
-RTEMS_STUB(int, access(const char *pathname, int mode), { return -1; })
RTEMS_STUB(int, clock_gettime(clockid_t clk_id, struct timespec *tp), { return -1; })
RTEMS_STUB(int, close (int fd), { return -1; })
RTEMS_STUB(int, dup2(int oldfd, int newfd), { return -1; })
@@ -64,7 +63,6 @@ RTEMS_STUB(struct passwd *, getpwnam(const char *name), { return 0; })
RTEMS_STUB(struct passwd *, getpwuid(uid_t uid), { return 0; })
RTEMS_STUB(uid_t, getuid(void), { return 0; })
RTEMS_STUB(int, nanosleep(const struct timespec *req, struct timespec *rem), { return -1; })
-RTEMS_STUB(int, ftruncate(int fd, off_t length), { return -1; })
RTEMS_STUB(_off_t, lseek(int fd, _off_t offset, int whence), { return -1; })
RTEMS_STUB(int, lstat(const char *path, struct stat *buf), { return -1; })
RTEMS_STUB(int, open(const char *pathname, int flags, int mode), { return -1; })
@@ -95,12 +93,7 @@ RTEMS_STUB(int, _fork_r (struct _reent *r), { return -1; })
#endif
#endif
RTEMS_STUB(int, _fstat_r (struct _reent *r, int fd, struct stat *buf), { return -1; })
-RTEMS_STUB(uid_t, geteuid (), { return -1; })
-RTEMS_STUB(gid_t, getgid (), { return -1; })
-RTEMS_STUB(gid_t, _getgid_r (struct _reent *r), { return -1; })
-RTEMS_STUB(pid_t, getpid (), { return -1; })
-RTEMS_STUB(pid_t, getppid (), { return -1; })
-RTEMS_STUB(pid_t, _getpid_r (struct _reent *r), { return -1; })
+RTEMS_STUB(int, _getpid_r (struct _reent *r), { return -1; })
RTEMS_STUB(int, _gettimeofday_r(struct _reent *r, struct timeval *tp, void *tzp), { return 0; })
RTEMS_STUB(int, _isatty_r (struct _reent *r, int fd), { return isatty( fd ); })
RTEMS_STUB(int, _kill_r (struct _reent *r, int pid, int sig ), { return -1; })
diff --git a/newlib/libc/sys/rtems/machine/_types.h b/newlib/libc/sys/rtems/machine/_types.h
index ce8dc47f0..2e0204335 100644
--- a/newlib/libc/sys/rtems/machine/_types.h
+++ b/newlib/libc/sys/rtems/machine/_types.h
@@ -13,7 +13,7 @@
* could be applied here.
*/
-#if defined(__i386__) || defined(__m32r__) || defined(__h8300__) || (defined(__arm__) && !defined(__ARM_EABI__)) || defined(__bfin__) || defined(__m68k__) || defined(__MICROBLAZE__)
+#if defined(__i386__) || defined(__m32r__) || defined(__h8300__) || defined(__arm__) || defined(__bfin__) || defined(__m68k__)
#if defined(__H8300__)
typedef signed int _ssize_t;
#else
@@ -23,8 +23,7 @@ typedef long signed int _ssize_t;
#elif defined(__sparc__) && defined(__LP64__)
typedef long signed int _ssize_t;
#define __ssize_t_defined 1
-#elif defined(__AVR__) || defined(__lm32__) || defined(__m32c__) || defined(__mips__) || defined(__moxie__) || defined(__PPC__) || defined(__sparc__) || defined(__sh__) || defined(__ARM_EABI__) \
- || defined(__v850__) || defined(__v851__)
+#elif defined(__AVR__) || defined(__lm32__) || defined(__m32c__) || defined(__mips__) || defined(__moxie__) || defined(__PPC__) || defined(__sparc__) || defined(__sh__)
typedef signed int _ssize_t;
#define __ssize_t_defined 1
#else
diff --git a/newlib/libc/sys/sysmec/access.c b/newlib/libc/sys/sysmec/access.c
index 980682ef3..8e08b3a7f 100644
--- a/newlib/libc/sys/sysmec/access.c
+++ b/newlib/libc/sys/sysmec/access.c
@@ -3,7 +3,7 @@
* Copyright (C) 1993 DJ Delorie
* All rights reserved.
*
- * Redistribution, modification, and use in source and binary forms is permitted
+ * Redistribution and use in source and binary forms is permitted
* provided that the above copyright notice and following paragraph are
* duplicated in all such forms.
*
diff --git a/newlib/libc/sys/sysnecv850/access.c b/newlib/libc/sys/sysnecv850/access.c
index 980682ef3..8e08b3a7f 100644
--- a/newlib/libc/sys/sysnecv850/access.c
+++ b/newlib/libc/sys/sysnecv850/access.c
@@ -3,7 +3,7 @@
* Copyright (C) 1993 DJ Delorie
* All rights reserved.
*
- * Redistribution, modification, and use in source and binary forms is permitted
+ * Redistribution and use in source and binary forms is permitted
* provided that the above copyright notice and following paragraph are
* duplicated in all such forms.
*
diff --git a/newlib/libc/sys/sysnecv850/crt0.S b/newlib/libc/sys/sysnecv850/crt0.S
index 43b5e21cd..b319d30b7 100644
--- a/newlib/libc/sys/sysnecv850/crt0.S
+++ b/newlib/libc/sys/sysnecv850/crt0.S
@@ -5,7 +5,7 @@
_start:
-#if defined(__v850e__) || defined(__v850e2__) || defined(__v850e2v3__)
+#if defined __v850e__
movea 255, r0, r20
mov 65535, r21
diff --git a/newlib/libc/time/strptime.c b/newlib/libc/time/strptime.c
index 601f93e8a..0fc5f4e13 100644
--- a/newlib/libc/time/strptime.c
+++ b/newlib/libc/time/strptime.c
@@ -165,8 +165,8 @@ _DEFUN (strptime, (buf, format, timeptr),
char *s;
int ret;
- if (isspace ((unsigned char) c)) {
- while (isspace ((unsigned char) *buf))
+ if (isspace (c)) {
+ while (isspace (*buf))
++buf;
} else if (c == '%' && format[1] != '\0') {
c = *++format;
diff --git a/newlib/libm/common/sf_round.c b/newlib/libm/common/sf_round.c
index c8f1d7733..1bf60890c 100644
--- a/newlib/libm/common/sf_round.c
+++ b/newlib/libm/common/sf_round.c
@@ -18,12 +18,16 @@
float x;
#endif
{
+ int signbit;
__uint32_t w;
/* Most significant word, least significant word. */
int exponent_less_127;
GET_FLOAT_WORD(w, x);
+ /* Extract sign bit. */
+ signbit = w & 0x80000000;
+
/* Extract exponent field. */
exponent_less_127 = (int)((w & 0x7f800000) >> 23) - 127;
diff --git a/newlib/libm/math/e_atan2.c b/newlib/libm/math/e_atan2.c
index 8e9650f29..268be64a9 100644
--- a/newlib/libm/math/e_atan2.c
+++ b/newlib/libm/math/e_atan2.c
@@ -73,7 +73,7 @@ pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */
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 */
+ 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 */
diff --git a/newlib/libm/math/e_exp.c b/newlib/libm/math/e_exp.c
index e7455eef6..ce093c610 100644
--- a/newlib/libm/math/e_exp.c
+++ b/newlib/libm/math/e_exp.c
@@ -109,7 +109,7 @@ P5 = 4.13813679705723846039e-08; /* 0x3E663769, 0x72BEA4D0 */
#endif
{
double y,hi,lo,c,t;
- __int32_t k = 0,xsb;
+ __int32_t k,xsb;
__uint32_t hx;
GET_HIGH_WORD(hx,x);
@@ -144,6 +144,7 @@ P5 = 4.13813679705723846039e-08; /* 0x3E663769, 0x72BEA4D0 */
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;
diff --git a/newlib/libm/math/e_pow.c b/newlib/libm/math/e_pow.c
index cad6737a1..aac0b4211 100644
--- a/newlib/libm/math/e_pow.c
+++ b/newlib/libm/math/e_pow.c
@@ -120,10 +120,9 @@ ivln2_l = 1.92596299112661746887e-08; /* 0x3E54AE0B, 0xF85DDF44 =1/ln2 tail*/
/* x|y==NaN return NaN unless x==1 then return 1 */
if(ix > 0x7ff00000 || ((ix==0x7ff00000)&&(lx!=0)) ||
- iy > 0x7ff00000 || ((iy==0x7ff00000)&&(ly!=0))) {
+ iy > 0x7ff00000 || ((iy==0x7ff00000)&&(ly!=0)))
if(((ix-0x3ff00000)|lx)==0) return one;
else return nan("");
- }
/* determine if y is an odd int when x < 0
* yisint = 0 ... y is not an integer
diff --git a/newlib/libm/math/e_rem_pio2.c b/newlib/libm/math/e_rem_pio2.c
index ddfecba2d..3e5d0f7a2 100644
--- a/newlib/libm/math/e_rem_pio2.c
+++ b/newlib/libm/math/e_rem_pio2.c
@@ -89,7 +89,7 @@ pio2_3t = 8.47842766036889956997e-32; /* 0x397B839A, 0x252049C1 */
double x,y[];
#endif
{
- double z = 0.0,w,t,r,fn;
+ double z,w,t,r,fn;
double tx[3];
__int32_t i,j,n,ix,hx;
int e0,nx;
diff --git a/newlib/libm/math/ef_exp.c b/newlib/libm/math/ef_exp.c
index 6824f991a..19c570cfd 100644
--- a/newlib/libm/math/ef_exp.c
+++ b/newlib/libm/math/ef_exp.c
@@ -47,7 +47,7 @@ P5 = 4.1381369442e-08; /* 0x3331bb4c */
#endif
{
float y,hi,lo,c,t;
- __int32_t k = 0,xsb,sx;
+ __int32_t k,xsb,sx;
__uint32_t hx;
GET_FLOAT_WORD(sx,x);
@@ -79,6 +79,7 @@ P5 = 4.1381369442e-08; /* 0x3331bb4c */
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;
diff --git a/newlib/libm/math/ef_pow.c b/newlib/libm/math/ef_pow.c
index b3041dbdc..6804ce45a 100644
--- a/newlib/libm/math/ef_pow.c
+++ b/newlib/libm/math/ef_pow.c
@@ -77,10 +77,9 @@ ivln2_l = 7.0526075433e-06; /* 0x36eca570 =1/ln2 tail*/
/* x|y==NaN return NaN unless x==1 then return 1 */
if(FLT_UWORD_IS_NAN(ix) ||
- FLT_UWORD_IS_NAN(iy)) {
+ FLT_UWORD_IS_NAN(iy))
if(ix==0x3f800000) return one;
else return nanf("");
- }
/* determine if y is an odd int when x < 0
* yisint = 0 ... y is not an integer
diff --git a/newlib/libm/math/er_lgamma.c b/newlib/libm/math/er_lgamma.c
index 386a8a73b..7c9a153ed 100644
--- a/newlib/libm/math/er_lgamma.c
+++ b/newlib/libm/math/er_lgamma.c
@@ -216,7 +216,7 @@ static double zero= 0.00000000000000000000e+00;
double x; int *signgamp;
#endif
{
- double t,y,z,nadj = 0.0,p,p1,p2,p3,q,r,w;
+ double t,y,z,nadj,p,p1,p2,p3,q,r,w;
__int32_t i,hx,lx,ix;
EXTRACT_WORDS(hx,lx,x);
diff --git a/newlib/libm/math/erf_lgamma.c b/newlib/libm/math/erf_lgamma.c
index 3c6ba02af..90cc5425d 100644
--- a/newlib/libm/math/erf_lgamma.c
+++ b/newlib/libm/math/erf_lgamma.c
@@ -151,7 +151,7 @@ static float zero= 0.0000000000e+00;
float x; int *signgamp;
#endif
{
- float t,y,z,nadj = 0.0,p,p1,p2,p3,q,r,w;
+ float t,y,z,nadj,p,p1,p2,p3,q,r,w;
__int32_t i,hx,ix;
GET_FLOAT_WORD(hx,x);
diff --git a/newlib/testsuite/newlib.stdio/stdio.exp b/newlib/testsuite/newlib.stdio/stdio.exp
new file mode 100644
index 000000000..164cbf353
--- /dev/null
+++ b/newlib/testsuite/newlib.stdio/stdio.exp
@@ -0,0 +1,12 @@
+# Copyright (C) 2011 by ARM Ltd. All rights reserved.
+#
+# Permission to use, copy, modify, and distribute this software
+# is freely granted, provided that this notice is preserved.
+#
+
+load_lib passfail.exp
+
+set exclude_list {
+}
+
+newlib_pass_fail_all -x $exclude_list
diff --git a/newlib/testsuite/newlib.stdio/swprintf.c b/newlib/testsuite/newlib.stdio/swprintf.c
new file mode 100644
index 000000000..b925da487
--- /dev/null
+++ b/newlib/testsuite/newlib.stdio/swprintf.c
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2011 by ARM Ltd. All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software
+ * is freely granted, provided that this notice is preserved.
+ */
+
+#include <stdio.h>
+#include <newlib.h>
+#include <stdlib.h>
+#include <wchar.h>
+#include "check.h"
+
+int main()
+{
+#if defined(INTEGER_ONLY) || defined(NO_FLOATING_POINT)
+
+#else
+ char cbuf[512];
+ wchar_t wcbuf[512], wcbuf2[512];
+ double val = 1E+308;
+ snprintf(cbuf, 512, "%.*f", 3, val);
+ swprintf(wcbuf, 512, L"%.*f", 3, val);
+ mbstowcs(wcbuf2, cbuf, 512);
+
+ CHECK (wcscmp(wcbuf, wcbuf2) == 0);
+#endif
+
+ exit (0);
+}
diff --git a/newlib/testsuite/newlib.string/strcmp-1.c b/newlib/testsuite/newlib.string/strcmp-1.c
index a5258999f..81f4a1f86 100644
--- a/newlib/testsuite/newlib.string/strcmp-1.c
+++ b/newlib/testsuite/newlib.string/strcmp-1.c
@@ -31,9 +31,6 @@
#include <stdio.h>
#include <stdarg.h>
-/* The macro LONG_TEST controls whether a short or a more comprehensive test
- of strcmp should be performed. */
-#ifdef LONG_TEST
#ifndef BUFF_SIZE
#define BUFF_SIZE 1024
#endif
@@ -57,35 +54,11 @@
#ifndef MAX_ZEROS
#define MAX_ZEROS 8
#endif
-#else /* not defined LONG_TEST */
-#ifndef BUFF_SIZE
-#define BUFF_SIZE 1024
-#endif
-
-#ifndef MAX_BLOCK_SIZE
-#define MAX_BLOCK_SIZE 64
-#endif
-
-#ifndef MAX_OFFSET
-#define MAX_OFFSET 3
-#endif
-
-#ifndef MAX_DIFF
-#define MAX_DIFF 4
-#endif
-
-#ifndef MAX_LEN
-#define MAX_LEN 4
-#endif
-
-#ifndef MAX_ZEROS
-#define MAX_ZEROS 4
-#endif
-#endif /* not defined LONG_TEST */
#if (MAX_OFFSET >= 26)
#error "MAX_OFFSET >= 26"
#endif
+
#if (MAX_OFFSET + MAX_BLOCK_SIZE + MAX_DIFF + MAX_LEN + MAX_ZEROS >= BUFF_SIZE)
#error "Buffer overrun: MAX_OFFSET + MAX_BLOCK_SIZE + MAX_DIFF + MAX_LEN + MAX_ZEROS >= BUFF_SIZE."
#endif
diff --git a/winsup/ChangeLog b/winsup/ChangeLog
index 440d75414..09a3436b1 100644
--- a/winsup/ChangeLog
+++ b/winsup/ChangeLog
@@ -1,13 +1,3 @@
-2012-07-30 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * Makefile.common (CFLAGS_COMMON): Add temporary define to work around
- w32api problem.
-
-2012-07-06 Corinna Vinschen <corinna@vinschen.de>
-
- * Makefile.common (ALL_CFLAGS): Change := to = to allow overriding in
- dependent Makefiles.
-
2012-01-09 Corinna Vinschen <corinna@vinschen.de>
* Makefile.common (MINGW_LDFLAGS): Correctly use -L rather than -B here.
diff --git a/winsup/Makefile.common b/winsup/Makefile.common
index 1917e3d21..d496fb8d6 100644
--- a/winsup/Makefile.common
+++ b/winsup/Makefile.common
@@ -1,6 +1,6 @@
# Makefile.common - common definitions for the winsup directory
#
-# Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2009, 2012 Red Hat, Inc.
+# Copyright 2000, 2001, 2002, 2003, 2004, 2005 Red Hat, Inc.
#
# This file is part of Cygwin.
#
@@ -10,7 +10,7 @@
# This makefile requires GNU make.
-CFLAGS_COMMON:=-Wall -Wstrict-aliasing -Wwrite-strings -fno-common -pipe -fbuiltin -fmessage-length=0 -D_SDKDDKVER_H
+CFLAGS_COMMON:=-Wall -Wstrict-aliasing -Wwrite-strings -fno-common -pipe -fbuiltin -fmessage-length=0# -finline-functions
MALLOC_DEBUG:=#-DMALLOC_DEBUG -I/cygnus/src/uberbaum/winsup/cygwin/dlmalloc
MALLOC_OBJ:=#/cygnus/src/uberbaum/winsup/cygwin/dlmalloc/malloc.o
@@ -113,7 +113,7 @@ LIBC:=$(newlib_build)/libc/libc.a
LIBM:=$(newlib_build)/libm/libm.a
CRT0:=$(cygwin_build)/crt0.o
-ALL_CFLAGS=$(DEFS) $(MALLOC_DEBUG) $(CFLAGS) $(GCC_DEFAULT_OPTIONS)
+ALL_CFLAGS:=$(DEFS) $(MALLOC_DEBUG) $(CFLAGS) $(GCC_DEFAULT_OPTIONS)
ALL_CXXFLAGS=$(DEFS) $(MALLOC_DEBUG) $(CXXFLAGS) $(GCC_DEFAULT_OPTIONS)
ifndef PREPROCESS
diff --git a/winsup/cygserver/ChangeLog b/winsup/cygserver/ChangeLog
index c3731f710..cf198d4b7 100644
--- a/winsup/cygserver/ChangeLog
+++ b/winsup/cygserver/ChangeLog
@@ -1,19 +1,3 @@
-2012-07-19 Corinna Vinschen <corinna@vinschen.de>
-
- * woutsup.h: Just include winlean.h.
-
-2012-03-19 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * client.cc: Revert sigproc.h inclusion since it was fixed elsewhere.
-
-2012-03-19 Corinna Vinschen <corinna@vinschen.de>
-
- * client.cc: Include sigproc.h if __INSIDE_CYGWIN__ is defined.
-
-2012-03-19 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * client.cc: Remove unneeded #include "sigproc.h".
-
2012-02-14 Corinna Vinschen <corinna@vinschen.de>
* transport_pipes.cc (transport_layer_pipes::transport_layer_pipes):
diff --git a/winsup/cygserver/client.cc b/winsup/cygserver/client.cc
index dfa88d09b..6c3303a24 100644
--- a/winsup/cygserver/client.cc
+++ b/winsup/cygserver/client.cc
@@ -22,6 +22,8 @@ details. */
#include <stdio.h>
#include <unistd.h>
+#include "sigproc.h"
+
#include "cygserver_msg.h"
#include "cygserver_sem.h"
#include "cygserver_shm.h"
diff --git a/winsup/cygserver/woutsup.h b/winsup/cygserver/woutsup.h
index 5598c11c2..b262ae2a1 100644
--- a/winsup/cygserver/woutsup.h
+++ b/winsup/cygserver/woutsup.h
@@ -23,7 +23,22 @@ details. */
#define _WIN32_WINNT 0x0500
#endif
-#include "winlean.h"
+#define WIN32_LEAN_AND_MEAN 1
+#define _WINGDI_H
+#define _WINUSER_H
+#define _WINNLS_H
+#define _WINVER_H
+#define _WINNETWK_H
+#define _WINSVC_H
+#include <windows.h>
+#include <wincrypt.h>
+#include <lmcons.h>
+#undef _WINGDI_H
+#undef _WINUSER_H
+#undef _WINNLS_H
+#undef _WINVER_H
+#undef _WINNETWK_H
+#undef _WINSVC_H
#include "bsd_helper.h"
#include "bsd_log.h"
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index e6b69ccd2..fc456da26 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,1924 +1,3 @@
-2012-08-09 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * DevNotes: Add entry cgf-000014.
- * cygheap.cc (tls_sentry): Move here, rename from 'sentry' in cygtls.cc
- (tls_sentry::lock): Ditto.
- (nthreads): Move from cygtls.cc
- (THREADLIST_CHUNK): Ditto.
- (cygheap_init): Call init_tls_list().
- (init_cygheap::init_tls_list): Define new function.
- (init_cygheap::add_tls): Ditto.
- (init_cygheap::remove_tls): Ditto.
- (init_cygheap::find_tls): Ditto. Semi-resurrect from
- _cygtls::find_tls.
- * cygheap.h (init_cygheap::init_tls_list): Declare new function.
- (init_cygheap::add_tls): Ditto.
- (init_cygheap::remove_tls): Ditto.
- (init_cygheap::find_tls): Ditto.
- * cygtls.cc (sentry): Delete.
- (sentry::lock): Ditto.
- (nthreads): Ditto.
- (THREADLIST_CHUNK): Ditto.
- (_cygtls::init): Delete definition.
- (_cygtls::init_thread): Call cygheap->add_tls() to add thread to global
- list.
- (_cygtls::remove): cygheap->remove_tls() to remove thread from global
- list.
- * cygtls.h (_cygtls::init): Delete declaration.
- * dcrt0.cc (dll_crt0_0): Delete call to _cygtls::init().
- * exceptions.cc (sigpacket::process): When no thread is specified, try
- to find one via cygheap->find_tls.
-
-2012-08-08 Corinna Vinschen <corinna@vinschen.de>
-
- * include/sys/wait.h (_wait): Define when building newlib.
-
-2012-08-07 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * signal.cc (sigwaitinfo): Change cw_sig to the correct cw_sig_eintr.
-
-2012-08-03 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * exceptions.cc (sigdelayed): Simplify declaration.
- (_cygtls::call_signal_handler): Fix test for when to pop signal stack.
- Only do it exactly when what is on the stack is a no-op.
-
-2012-08-03 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * spawn.cc (child_info_spawn::worker): Put back a minor variation of
- Corinna's test for detecting a background process when starting a
- non-cygwin process.
-
-2012-08-01 Corinna Vinschen <corinna@vinschen.de>
-
- * include/cygwin/socket.h (MSG_BCAST): Define.
- (MSG_MCAST): Define.
-
-2012-08-01 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler.h (fhandler_socket::recv_internal): Add bool parameter.
- Add regparm attribute.
- * fhandler_socket.cc (fhandler_socket::read): Call recv_internal with
- second parameter set to false.
- (fhandler_socket::readv): Ditto.
- (fhandler_socket::recvfrom): Ditto.
- (fhandler_socket::recv_internal): Convert use_recvmsg from local
- variable to parameter. Use as request for using WSARecvMsg. Only
- fail if WSARecvMsg can't be loaded and wsamsg->Control.len > 0,
- otherwise use WSARecv{From}. Restrict dwFlags to MSG_PEEK when using
- WSARecvMsg.
- (fhandler_socket::recvmsg): Prefer using WSARecvMsg. Change priority
- of tests for not using WSARecvMsg. Call recv_internal with second
- parameter set accordingly.
-
-2012-08-01 Corinna Vinschen <corinna@vinschen.de>
-
- * Makefile.in: Semi-revert patch from 2012-07-01, assuming the previous
- patch to etc::dir_changed fixes the underlying issue.
-
-2012-07-31 Corinna Vinschen <corinna@vinschen.de>
-
- * path.cc (etc::dir_changed): Revert muto changes since function is
- called under lock condition anyway.
-
-2012-07-31 Corinna Vinschen <corinna@vinschen.de>
-
- * path.cc (etc::dir_changed): Change `io' to a static NO_COPY
- variable. Explain why. Add a muto to guard overwriting the changed_h
- handle by multiple concurrent threads.
- * path.h (class etc): Drop unused changed_h member.
-
-2012-07-30 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * winlean.h: Define constant which will be needed eventually. Remove
- hack in favor of another hack.
- * lib/crt0.h: Use "winlean.h".
-
-2012-07-30 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * winlean.h: Add temporary define.
- * winsup.h: Remove ancient debugging defines.
-
-2012-07-29 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * cygwait.cc (cancelable_wait): Add some debugging-only output.
- * exceptions.cc (sig_handle_tty_stop): Make sure that incyg is cleared
- when exiting if we have no parent process. Only wait for signal_arrived.
- (sigpacket::process): Make continue_now a bool. Delay sending
- signal_arrived until the end. Make code more defensive to avoid
- calling signal handler when stopped. Only set signal_arrived when
- stopped.
- * sigproc.cc (sig_hold): Rename from sigCONT. Make static.
- (sig_send): Accommodate sigCONT -> sig_hold rename.
- (wait_sig): Ditto.
- * sigproc.h (sigCONT): Delete declaration.
-
- * fhandler_console.cc (fhandler_console::write): Use new '%0c' facility
- to print characters. Change to paranoid to avoid excessive strace
- output.
- * fhandler_tty.cc (fhandler_pty_master::accept_input): Make frequent
- strace printf "paranoid" to help cut down on strace output size.
-
- * signal.cc (sigsuspend): Add standard syscall strace output.
- (sigpause): Ditto.
- (pause): Ditto.
-
-2012-07-29 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * cygtls.h (_cygtls::reset_signal_arrived): New function.
- (set_signal_arrived::~set_signal_arrived): Use reset_signal_arrived to
- reset state.
- * exceptions.cc (sig_handle_tty_stop): Use WAIT_SIGNALED rather than
- assume we know the return from cancelable_wait.
- (_cygtls::interrupt_setup): Modify to allow calling when executing in
- non-cygwin code via sigdelayed. Always reset signal_arrived.
- * gendef: Throughout use start_offset rather than the completely wrong
- sizeof__cygtls.
- (_sigdelayed): Rewrite to avoid duplication when calling the signal
- handler.
- (sigreturn): Delete.
- * gentls_offsets: Define start_offset rather than sizeof__cygtls.
- * tlsoffsets.h: Regenerate.
-
-2012-07-29 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * fhandler_termios.cc (fhandler_termios::line_edit): Use special case
- '%0c' handling to print non-printable characters using hex notation.
- * smallprint.cc (__small_vsprintf): Semi-reimplement printing of
- non-printable characters in hex but only when padding is specified.
-
- * dcrt0.cc (dll_crt0_0): Remove tty_list initialization.
- * shared.cc (memory_init): Initialize tty_list here.
-
- * path.cc (path_conv::check): Remove unneeded parentheses from if
- check.
-
-2012-07-28 Corinna Vinschen <corinna@vinschen.de>
-
- * include/inttypes.h: Add x86_64 target considerations throughout.
- Define macros in C++ according to C99 requirements.
- * include/stdint.h: Ditto.
-
-2012-07-25 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * signal.cc (clock_nanosleep): Force return on signal rather than
- letting cancelable_wait loop on signal.
-
-2012-07-25 Corinna Vinschen <corinna@vinschen.de>
-
- * syscalls.cc (enum bin_status): Add dir_not_empty.
- (try_to_bin): Call NtQueryInformationFile(FileInternalInformation)
- with exact buffer size. Explain why.
- Ditto for NtSetInformationFile(FileRenameInformation).
- Handle race-condition which might lead to renaming a non-empty
- directory.
- (unlink_nt): Rearrange and partially rephrase comments related to the
- STATUS_SHARING_VIOLATION case. Fix condition under which a dir is
- tested for being non-empty. Handle dir_not_empty return code from
- try_to_bin. Gracefully handle disappearing directory in rm -r
- workaround. Fix typo in comment.
-
-2012-07-24 Corinna Vinschen <corinna@vinschen.de>
-
- * wincap.cc (wincapc::init): Drop memset call since it can result in
- a race condition. Drop all considerations for pre-Windows 2000 systems
- since Cygwin won't start on them anyway.
-
-2012-07-23 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- Change "set_thread_waiting" to "set_signal_arrived" throughout.
-
-2012-07-21 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * DevNotes: Add entry cgf-000013.
- * cygserver_ipc.h (ipc_set_proc_info): Use _cygtls::ipc_set_proc_info
- to set per-thread signal arrived value.
- * cygthread.cc (cygthread::detach): Use per-thread signal_arrived via
- set_thread_waiting.
- * fork.cc (_cygtls::fixup_after_fork): Clear signal_arrived.
- (_cygtls::remove): Close any signal_arrived handle when thread exists.
- (_cygtls::find_tls): Remove unneeded function.
- * cygtls.h: Update copyright.
- (class _cygtls): Reorganize to help avoid rebuilding newlib when
- structure changes.
- (_cygtls::event): Delete.
- (_cygtls::threadkill): Ditto.
- (_cygtls::signal_waiting): Declare new bool.
- (_cygtls::find_tls): Delete declaration.
- (_cygtls::set_threadkill): Ditto.
- (_cygtls::reset_threadkill): Ditto.
- (_cygtls::set_signal_arrived): Declare new function.
- (class set_thread_waiting): Declare new class.
- * cygwait.cc (cw_nowait_storage): Define.
- (cygwait): Set per-thread signal_arrived via set_thread_waiting. Don't
- special-case _main_tls.
- * cygwait.h (cw_nowait): Define.
- (cw_infinite): Ditto.
- (cygwait): Redefine pathological wait-only case.
- * dcrt0.cc (dll_crt0_0): Remove call to now-defunct events_init().
- (dll_crt0_1): Remove call to now-defunct create_signal_arrived().
- * exceptions.cc: Reflect set_signal_mask() argument reordering
- throughout. Remove signal mask synchronization throughout.
- (events_init): Delete definition.
- (mask_sync): Delete now-unneeded mask synchronization.
- (set_signal_mask): Reverse order of arguments to "standard" to, from
- layout. Rename "newmask" argument to "setmask". Remove debugging.
- (sig_handle_tty_stop): Use cancelable_wait rather than WFMO.
- (_cygtls::interrupt_setup): Don't treat "threadkill" events specially.
- Conditionally set signal_arrived depending on whether the thread has
- created it or not.
- (sigpacket::process): Reorganize to reflect thread-specific sending of
- signals which is more in line with the way it was actually supposed to
- work.
- * fhandler_socket.cc (get_inet_addr): Use cancelable_wait rather than
- IsEventSignalled to avoid potential race.
- (fhandler_socket::wait_for_events): Set signal_arrived event using
- set_thread_waiting().
- (fhandler_socket::close): Use cygwait for the case of just
- waiting 10 ms for a signal.
- * fhandler_tape.cc (fhandler_dev_tape::_lock): Use cancelable_wait
- rather than WFMO. Redo switch/case tests accordingly.
- * fhandler_termios.cc (fhandler_termios::bg_check): Use cygwait for
- case of just waiting 0 ms for a potential signal.
- * fhandler_tty.cc (fhandler_pty_master::process_slave_output): Use
- cancelable_wait rather than WFSO.
- * fhandler_windows.cc (fhandler_windows::read): Set per-thread
- signal_arrived via set_thread_waiting().
- * flock.cc (lf_setlock): Ditto.
- * select.cc (pselect): Ditto. Set per-thread signal_arrived using
- set_thread_waiting().
- * gendef: Don't special case handling of _cygtls::sig for threads.
- * gentls_offsets: Use #pragma once in tlsoffsets.h.
- * ntdll.h: Use #pragma once.
- * poll.cc: Reflect set_signal_mask() argument reordering.
- * posix_ipc.cc (ipc_mutex_lock): Use cancelable_wait rather than WFMO.
- (ipc_cond_timedwait): Set perl-thread signal arrived using
- set_thread_waiting().
- * security.h: Use #pragma once.
- * signal.cc (abort): Reflect set_signal_mask() argument reordering.
- (clock_nanosleep): Ditto. Change call to cancelable_wait to properly
- specify handling of cancel and interrupt.
- (sigwaitinfo): Remove handling of per-thread event in favor of
- per-thread signal_arrived. Use cancelable_wait rather than WFSO.
- * sigproc.cc (signal_arrived): Delete definition.
- (create_signal_arrived): Ditto.
- * sigproc.h (signal_arrived): Delete declaration.
- (set_signal_mask): Avoid defining as a "C" function. Don't
- conditionally declare.
- (create_signal_arrived): Delete declaration.
- * syscalls.cc (rename): Use cygwait() rather than WFSO.
- * thread.h (fast_mutex::lock): Use cw_infinite rather than LARGE_NULL.
- * wait.cc (wait4): Ditto.
- * thread.cc (pthread_mutex::lock): Ditto.
- (pthread::join): Ditto.
- (semaphore::_wait): Ditto.
- (pthread_kill): Remove set_threadkill() accommodation.
- * tlsoffsets.h: Regenerate.
-
-2012-07-21 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 17.
-
-2012-07-19 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * mount.cc (getmntent_r): Remove unused but set variable.
-
-2012-07-18 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * cygwin.din (getmntent_r): Export.
- * mount.cc (getmntent_r): New function.
- * posix.sgml (std-gnu): Add getmntent_r.
- * include/mntent.h (getmntent_r): Declare.
- * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
-
-2012-07-12 Corinna Vinschen <corinna@vinschen.de>
-
- * winlean.h: Make sure certain Windows macros are undefined again.
- Add comment to explain why.
- * winsup.h: Include winlean.h from C sources as well.
- * libc/minires-os-if.c: Drop including ntdef.h.
-
-2012-07-12 Corinna Vinschen <corinna@vinschen.de>
-
- * pseudo-reloc.cc: Drop including wchar.h and ntdef.h.
- (__report_error): Define module as WCHAR.
- * advapi.cc: Drop including wchar.h.
- * kernel32.cc: Ditto.
-
-2012-07-11 Corinna Vinschen <corinna@vinschen.de>
-
- * cygtls.cc (well_known_dlls): Add ole32.dll and wbemprox.dll.
-
-2012-07-09 Corinna Vinschen <corinna@vinschen.de>
-
- * cygwin.sc (.rdata): Revert patch from 2012-07-06.
-
-2012-07-09 Corinna Vinschen <corinna@vinschen.de>
-
- * passwd.cc (getpass): Make check for closed stream more reliable.
- Check if setting tty attributes worked and only revert to old state
- if so.
-
-2012-07-09 Corinna Vinschen <corinna@vinschen.de>
-
- * Makefile.in, configure.in, mkvers.sh: Revert accidental checkin from
- 2012-07-06.
-
-2012-07-07 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * Makefile.in: Change mingw_lib (temporarily?) back to w32api_lib.
-
-2012-07-06 Corinna Vinschen <corinna@vinschen.de>
-
- * winlean.h (__STRALIGN_H_): Drop definition.
-
-2012-07-06 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_procnet.cc: Fix copyright.
- * syslog.cc: Ditto.
- * libc/minires-os-if.c: Ditto.
- * libc/minires.h: Ditto.
-
-2012-07-06 Corinna Vinschen <corinna@vinschen.de>
-
- In terms of network related functionality, rely on Winsock definitions
- as much as possible:
- * dtable.cc: Drop including sys/socket.h.
- * fhandler_procnet.cc: Change includes accordingly.
- * fhandler_socket.cc: Ditto.
- (fhandler_socket::listen): Avoid gcc error message initializing sin6.
- (LPFN_WSARECVMSG): Only define when building against w32api headers.
- * net.cc: Change includes accordingly. Define USE_SYS_TYPES_FD_SET
- and __WSA_ERR_MACROS_DEFINED. Define _INC_NETIOAPI temporarily and
- explain why.
- (struct _IP_ADAPTER_UNICAST_ADDRESS_LH): Only define when building
- against w32api headers.
- (struct _IP_ADAPTER_ADDRESSES_LH): Ditto.
- (SIO_GET_INTERFACE_LIST): Ditto.
- (ws_freeaddrinfo): Rename from freeaddrinfo so as not to collide with
- Winsock declaration. Change througout.
- (ws_getaddrinfo): Ditto.
- (ws_getnameinfo): Ditto.
- * select.cc: Include netdb.h after defining USE_SYS_TYPES_FD_SET.
- * syslog.cc: Drop including netinet/in.h. Define USE_SYS_TYPES_FD_SET
- and include ws2tcpip.h.
- * include/netdb.h (struct addrinfo): Don't define when building Cygwin.
- * include/cygwin/if.h: Don't declare if_xxx functions when building
- Cygwin.
- * include/cygwin/in.h: Disable most definitions when building Cygwin.
- * include/cygwin/socket.h: Disable sockaddr and sockaddr_storage
- definitions when building Cygwin. Same for MCAST_INCLUDE/MCAST_EXCLUDE.
- * libc/inet_addr.c: Don't define __INSIDE_CYGWIN__ nor
- __INSIDE_CYGWIN_NET__.
- * libc/inet_network.c: Ditto.
- * libc/minires.h: Drop redundant inclusion of netdb.h. Define
- __INSIDE_CYGWIN_NET__ only before including netdb.h and resolver
- headers.
-
-2012-07-06 Corinna Vinschen <corinna@vinschen.de>
-
- * winbase.h: Throughout use LONG rather than long type to prepare for
- 64 bit.
- (InterlockedCompareExchangePointer): Define.
-
-2012-07-06 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_registry.cc (RegOpenUserClassesRoot): Only define when
- building against w32api headers.
- (RegOpenCurrentUser): Ditto.
- * fhandler_tty.cc (GetNamedPipeClientProcessId): Ditto.
- * ntdll.h (enum _PROCESSINFOCLASS): Add ProcessImageFileName.
- (RtlInitAnsiString): Declare.
- (RtlUnicodeStringToAnsiSize): Declare.
- * sched.cc (GetForegroundWindow): Ditto.
- * sec_helper.cc (SECURITY_NT_NON_UNIQUE): Define as
- SECURITY_NT_NON_UNIQUE_RID when building against w32api headers.
- (cygsid::get_sid): Use SECURITY_NT_NON_UNIQUE rather than
- SECURITY_NT_NON_UNIQUE_RID.
- (__sec_user): Use PISECURITY_DESCRIPTOR rather than PSECURITY_DESCRIPTOR
- to allow valid pointer arithmetic.
- (_recycler_sd): Ditto.
- (_everyone_sd): Ditto.
-
-2012-07-06 Corinna Vinschen <corinna@vinschen.de>
-
- * advapi32.cc (_ADVAPI32_): Drop definition.
- * kernel32.cc (_KERNEL32_): Ditto.
- * winlean.h: Add definitions required to use Mingw64 headers.
- (FILE_SHARE_VALID_FLAGS): Drop definition.
-
-2012-07-06 Corinna Vinschen <corinna@vinschen.de>
-
- * winsup.h (_WIN32_WINNT): Define. Explain why.
-
-2012-07-06 Corinna Vinschen <corinna@vinschen.de>
-
- * libc/rcmd.cc: Don't undef __INSIDE_CYGWIN_NET__.
-
-2012-07-06 Corinna Vinschen <corinna@vinschen.de>
-
- * cygwin.sc (.rdata): Include all sections starting with .rdata.
- (.debug_pubtypes): Make sure section is loaded at the end like all other
- debug sections.
-
-2012-07-04 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * dcrt0.cc (build_argv): Guard against NULL pointer dereference found
- by Clang.
-
-2012-07-04 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * exceptions.cc (setup_handler): Remove unneeded assignment found by
- Clang.
-
-2012-07-04 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * hookapi.cc (find_first_notloaded_dll): Remove unused assignment of
- importRVASize found by Clang.
-
-2012-07-04 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * fhandler_tty.cc (fhandler_pty_slave::read): Remove duplicate
- assignment to bytes_in_pipe found by Clang.
-
-2012-07-02 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * exceptions.cc (exception::handle): Use error_code in klog, as
- intended. Found by Clang.
-
-2012-07-02 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler.h (class fhandler_dev_clipboard): Remove member eof.
- * fhandler_clipboard.cc: Throughout remove handling of eof member.
- (fhandler_dev_clipboard::write): Handle EOF condition immediately,
- rather than pushing it erroneously to the next read call. Rearrange
- code. Fix bug in CF_UNICODETEXT case which potentially dropped single
- bytes at the end of the buffer. Add comment.
- * strfuncs.cc (sys_cp_wcstombs): Allow returning non-NUL-terminated
- buffer if dst != NULL and len == (size_t) -1. Extend leading comment
- to explain what's returned in more detail.
-
-2012-07-02 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * fhandler_virtual.cc (fhandler_virtual::opendir): Eliminate duplicate
- assignment found by Clang.
-
-2012-07-02 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * fhandler_registry.cc (fhandler_registry::open): Handle missing EROFS
- error condition pointed to by Clang.
-
-2012-07-02 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * pinfo.cc (_pinfo::commune_request): Eliminate unneeded assignment
- found by Clang.
-
-2012-07-02 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * external.cc (fillout_pinfo): Return NULL rather than 0.
- (exit_process): Guard against NULL pointer dereference found by Clang.
-
-2012-07-02 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * mount.cc (mount_info::conv_to_win32_path): Eliminate unneeded
- assignment found by Clang.
-
-2012-07-02 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * path.cc (symlink_info::check): Remove unneeded/unused variable found
- by Clang.
-
-2012-07-02 Corinna Vinschen <corinna@vinschen.de>
-
- * dll_init.cc (dll_list::alloc): Take long UNC paths into account.
-
-2012-07-01 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * Makefile.in: Add some more optimization flags for cygwait, malloc and
- path. Explain why -fomit-frame-pointer doesn't work right for passwd.o
- and path.o. Add -static to link command line for cygwin0.dll.
-
- * fhandler_disk_file.cc (fhandler_disk_file::facl): Reorganize slightly
- to silence compiler warning when compiling with -fstack-check.
- * net.cc (inet_ntop6): Initialize structure members to silence compiler
- warning when compiling with -fstack-check.
-
- * pseudo-reloc.cc (_pei386_runtime_relocator): Make this a C function.
- Detect NULL u.
- * winsup.h (_pei386_runtime_relocator): Declare this as extern "C".
- * lib/_cygwin_crt0_common.cc (_pei386_runtime_relocator): Call with
- NULL argument.
-
- * signal.cc (sigaction_worker): Eliminate last argument. Let callers
- report their own strace info. Regparmize.
- (sigaction): Reflect sigaction_worker changes.
- (siginterrupt): Ditto.
-
- * exceptions.cc: Update copyright.
-
-2012-07-01 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * path.cc: Perform some whitespace fixups throughout.
-
-2012-06-28 Corinna Vinschen <corinna@vinschen.de>
-
- * kernel32.cc (_KERNEL32_): Define. Explain why.
- (CreateFileMappingW): Drop undocumented flProtect flags.
-
-2012-06-28 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_serial.cc: Fix includes for IOCTL codes to support Mingw64.
- * fhandler_tape.cc: Ditto.
- * flock.cc (allow_others_to_sync): Use PISECURITY_DESCRIPTOR since
- PSECURITY_DESCRIPTOR is supposed to be the opaque type.
- * ntdll.h: Remove CreateDisposition flags again, now that they are
- defined in Mingw64's ntdef.h. Ditto for Create/Open flags.
-
-2012-06-28 Corinna Vinschen <corinna@vinschen.de>
-
- * exceptions.cc (RtlUnwind): Align declaration with MSDN.
- * ntdll.h: Define CreateDisposition Flags. Add comments.
- * winlean.h: Define FILE_SHARE_VALID_FLAGS if using Mingw64 headers.
-
-2012-06-27 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * cygwait.h (cancelable_wait): Make extern to avoid always including.
- * select.cc (allocfd_set): Try to make a little more efficient.
- (cygwin_select): Break into two functions to avoid what seems to be a
- strange compiler problem with alloca and sel constructor.
- (select): New function. Always honor return from call_signal_handler.
- (select_stuff::wait): Always honor return from call_signal_handler.
- * select.h (select_stuff::select_stuff): Use NULL to initialize
- pointers rather than 0.
-
-2012-06-27 Corinna Vinschen <corinna@vinschen.de>
-
- * exceptions.cc (exception::handle): Cast exception code to NTSTATUS
- for comparison.
- * ntdll.h: Drop defining NT status codes in favor of including
- ntstatus.h.
-
-2012-06-27 Corinna Vinschen <corinna@vinschen.de>
-
- * miscfuncs.cc (WritePipeOverlapped): Define second parameter LPCVOID,
- rather than PCVOID.
- * miscfuncs.h (WritePipeOverlapped): Ditto.
-
-2012-06-27 Corinna Vinschen <corinna@vinschen.de>
-
- * advapi32.cc (_ADVAPI32_): Define. Explain why.
- (ImpersonateNamedPipeClient): Add missing WINAPI.
- * ntdll.h (STATUS_INVALID_PARAMETER): Only define if it isn't already.
- (STATUS_DLL_NOT_FOUND): Ditto.
- (STATUS_ENTRYPOINT_NOT_FOUND): Ditto.
- (enum _EVENT_TYPE): Guard against redefinition since it's already
- defined in Mingw64's ntdef.h.
- (enum _TIMER_TYPE): Ditto.
- (enum _SECTION_INHERIT): Define if using Mingw64 headers since it's
- missing in Mingw64's ntdef.h.
- * winlean.h (__STRALIGN_H_): Define before including windows.h.
-
-2012-06-26 Corinna Vinschen <corinna@vinschen.de>
-
- * winsup.h (GetLastError): Drop redundant definition.
-
-2012-06-25 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * cygwait.cc (cancelable_wait): Make sure that timer is cancelled
- before cancelling thread.
-
-2012-06-25 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * cygwait.h (cancelable_wait): Need to force time to negative to
- indicate relative time.
-
-2012-06-21 Corinna Vinschen <corinna@vinschen.de>
-
- * path.cc (realpath): Fix comment.
-
-2012-06-21 Corinna Vinschen <corinna@vinschen.de>
-
- * path.cc (realpath): Call mount_info::conv_to_posix_path rather than
- mount_info::cygdrive_posix_path to convert DOS paths to POSIX paths.
- Add comment to explain why that's necessary at all.
-
-2012-06-18 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * cygwait.h (LARGE_NULL): Define.
- (cancelable_wait): Define variant which accepts DWORD time argument.
- (cygwait): Use cancelable_wait with DWORD argument.
- (cygwait): Use cancelable_wait with DWORD argument and cw_sig_eintr for
- timeout-only case.
- * exceptions.cc (handle_sigsuspend): Use LARGE_NULL as second argument
- to distinguish between cancelable_wait variants.
- * thread.cc (pthread_mutex::lock): Ditto.
- (pthread::join): Ditto.
- (semaphore::_timedwait): Ditto.
- * thread.h (fast_mutex::lock): Ditto.
- * wait.cc (wait4): Ditto.
-
-2012-06-18 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * cygwait.cc (cancelable_wait): Mimic old cygwait behavior more closely
- wrt handling of call_signal_handler.
- * cygwait.h (WAIT_CANCELED): Move here and redefine.
- (WAIT_SIGNALED): Ditto.
- * thread.h (WAIT_CANCELED): Delete.
- (WAIT_SIGNALED): Ditto.
-
-2012-06-18 Corinna Vinschen <corinna@vinschen.de>
-
- * cygheap.cc (init_cygheap::init_installation_root): Rearrange code
- creating valid native NT installation_root path. Only strip last
- backslash from path if the result is a valid NT path. Explain why.
-
-2012-06-17 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- Add '#include "cygwait.h"' throughout, where appropriate.
- * DevNotes: Add entry cgf-000012.
- * Makefile.in (DLL_OFILES): Add cygwait.o.
- * sigproc.h: Remove cygwait definitions.
- * cygwait.h: New file. Define/declare Cygwin waitfor functions.
- * cygwait.cc: Ditto.
- * exceptions.cc: Include cygwait.h.
- (handle_sigsuspend): Accommodate change in cancelable_wait arguments.
- (sigpacket::process): Display thread tls in debugging output.
- * fhandler.cc (fhandler_base_overlapped::wait_overlapped): Use symbolic
- names for signal and cancel return.
- * fhandler_console.cc (fhandler_console::read): Ditto.
- (fhandler_dev_dsp::Audio_out::waitforspace): Ditto.
- fhandler_dev_dsp::Audio_in::waitfordata): Ditto.
- * fhandler_fifo.cc (fhandler_fifo::wait): Ditto.
- * fhandler_serial.cc (fhandler_serial::raw_read): Ditto.
- * fhandler_tty.cc (fhandler_pty_slave::read): Ditto.
- * select.cc (cygwin_select): Ditto.
- * wait.cc (wait4): Ditto.
- * thread.cc (cancelable_wait): Move definition to cygwait.h.
- (pthread_cond::wait): Accommodate change in cancelable_wait arguments.
- (pthread_mutex::lock): Ditto.
- (pthread_spinlock::lock): Ditto.
- (pthread::join): Ditto.
- (pthread::thread_init_wrapper): Display tls in debugging output.
- (semaphore::_timedwait): Ditto.
- * thread.h (cw_sig_wait): Move to cygwait.h.
- (cw_cancel_action): Delete.
- (cancelable_wait): Move declaration to cygwait.h.
-
-2012-06-11 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * regex/regcomp.c (p_ere): Allow vertical-line following
- left-parenthesis in ERE, as in glibc.
-
-2012-06-10 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * include/sys/elf_common.h (R_386_16): Define.
- (R_386_PC16): Define.
- (R_386_8): Define.
- (R_386_PC8): Define.
-
-2012-06-09 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * select.cc (cygwin_select): Remove select_timeout test.
- (select_stuff::wait): Return select_set_zero on timeout.
- (thread_socket): Report timeout when debugging.
-
-2012-06-05 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * include/elf.h: Update from FreeBSD.
- * include/machine/elf.h: New header, from FreeBSD.
- * include/sys/elf.h: Ditto.
- * include/sys/elf32.h: Update from FreeBSD.
- * include/sys/elf64.h: Ditto.
- * include/sys/elf_common.h: Ditto.
- (R_IA64_*): Define Linux-style names as aliases to R_IA_64_*.
- (R_SH_*): Define, based on sh-4 psABI.
- (R_390_*): Define, based on s390x psABI.
- * include/sys/elf_generic.h: Ditto.
-
-2012-06-04 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_disk_file.cc (fhandler_disk_file::link ): Translate
- STATUS_NOT_SUPPORTED to EPERM as well.
-
-2012-06-03 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * dtable.cc (dtable::dup3): Only return with lock set when O_EXCL flag
- is passed in.
- * syscalls.cc (dup_finish): Pass O_EXCL in flags to dtable::dup3.
-
-2012-06-03 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * DevNotes: Add entry cgf-000011.
- * fhandler.h (fhandler_base::refcnt): Delete.
- (fhandler_base::inc_refcnt): New function.
- (fhandler_base::dec_refcnt): New function.
- * cygheap.h (cygheap_fdnew::~cygheap_fdnew): Accommodate split of
- refcnt to inc_refcnt/dec_refcnt.
- (cygheap_fdget::cygheap_fdget): Ditto.
- (cygheap_fdget::~cygheap_fdget::cygheap_fdget): Ditto.
- * dtable.cc (dtable::release): Ditto.
- (cygwin_attach_handle_to_fd): Ditto.
- (dtable::init_std_file_from_handle): Ditto.
- (dtable::dup3): On success, return with fdtab locked.
- * dtable.h (dtable): Add dup_finish as a friend.
- * syscalls.cc (dup_finish): Define new function. Increment refcnt
- while fdtab is locked.
- (dup2): Use common dup_finish() to perform dup operation.
- (dup3): Ditto.
-
-2012-06-03 Corinna Vinschen <corinna@vinschen.de>
-
- * globals.cc (ro_u_refs): New R/O unicode string.
- * mount.cc (fs_info::update): Recognize ReFS.
- * mount.h (enum fs_info_type): Add refs.
- (class fs_info): Add refs flag and accessor methods.
- * ntdll.h (RtlAddAccessAllowedAceEx): Declare.
- (RtlAddAccessDeniedAceEx): Declare.
- * path.h (path_conv::fs_is_refs): Define.
- * sec_helper.cc (_recycler_sd): New function to create security
- descriptors suitable for the recycler bin starting with Vista.
- * security.cc (add_access_allowed_ace): Use RtlAddAccessAllowedAceEx
- and drop code to set AceFlags explicitely.
- (add_access_denied_ace): Use RtlAddAccessDeniedAceEx and drop code to
- set AceFlags explicitely.
- * security.h (_recycler_sd): Declare.
- (recycler_sd): Define.
- * syscalls.cc (desktop_ini): Change formatting.
- (desktop_ini_ext): Define third line of recycler desktop.ini file
- since Vista,
- (try_to_bin): Handle ReFS just like NTFS. Write Vista and later
- Recycler in all uppercase, just like shell32 does when recreating it.
- Fix comments to include ReFS. Don't implicitely reuse object
- attributes from earlier NtOpenFile call, rather recreate it for safety.
- Use recycler_sd call when creating security descriptor for Recycler
- dirs and files on Vista and later. Write third line of desktop.ini
- when on Vista and later.
-
-2012-06-03 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * winbase.h: Add missing copyright date.
-
-2012-06-03 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * select.cc (cygwin_select): Make sure that we only return -1 as an
- error return.
- (select_stuff::wait): Semi-revert to previous method for filling out
- w4.
-
-2012-06-02 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * select.cc (cygwin_select): Add some comments.
- (select_stuff::wait): Ditto.
-
-2012-06-02 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * DevNotes: Add entry cgf-000010.
- * select.cc (set_handle_or_return_if_not_open): Remove unneeded final
- backslash from definition.
- (cygwin_select): Reorganize to incorporate outer retry loop. Move
- remaining time recalculation here for retry case. Use
- select_stuff::wait_states for loop control.
- (select_stuff::cleanup): Avoid unneeded initialization.
- (select_stuff::wait): Modify definition to return
- select_stuff::wait_states. Eliminate is_cancelable. Don't inspect
- element 1 of an array if it is a cancel handle. Remove loop. Rely on
- being called from enclosing loop in cygwin_select. Remove time
- recalculation when restarting. Try harder to always return from the
- bottom.
- * select.h (select_stuff::wait_state): New enum.
- (select_stuff::wait): Modify declaration to return
- select_stuff::wait_states.
-
-2012-06-02 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * exceptions.cc (setup_handler): Make debugging output a little more
- verbose.
-
-2012-06-02 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * cygtls.h (_cygtls::protect_linked_list): Delete unused field.
-
-2012-05-30 Corinna Vinschen <corinna@vinschen.de>
-
- * hookapi.cc (find_first_notloaded_dll): Extend comment. Fix usage of
- mapped memory. Shorten static library name buffer to MAX_PATH. Use
- strlcpy to copy library name to buffer. Only Unmap "map" if it has been
- Mapped before.
- * pinfo.cc (status_exit): Drop unneeded declaration of
- find_first_notloaded_dll in favor of the declaration in winsup.h.
-
-2012-05-30 Corinna Vinschen <corinna@vinschen.de>
-
- * thread.cc: Remove temporary newlib workaround, now that newlib
- handles thread cancellation by itself.
- (class __cygwin_lock_handler): Remove.
- (__cygwin_lock_cleanup): Remove.
- (__cygwin_lock_lock): Revert newlib workaround,
- (__cygwin_lock_trylock): Ditto.
- (__cygwin_lock_unlock): Ditto.
- (pthread::pop_cleanup_handler): Ditto.
-
-2012-05-29 Corinna Vinschen <corinna@vinschen.de>
-
- * select.cc (select_stuff::wait): Temporarily disable restarting
- entirely.
-
-2012-05-29 Corinna Vinschen <corinna@vinschen.de>
-
- * security.h (cygsidlist::+=): Correctly copy well_known_sid info from
- source cygsid.
-
-2012-05-25 Corinna Vinschen <corinna@vinschen.de>
-
- * registry.cc (reg_key::build_reg): Fix typo in debug output.
-
-2012-05-25 Corinna Vinschen <corinna@vinschen.de>
-
- * select.cc (select_stuff::wait): When not returning after receiving
- a signal, recalculate timeout. Apply temporary fix to avoid crashes
- after calling the signal handler. Explain.
-
-2012-05-25 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_serial.cc (fhandler_serial::raw_read): Check for
- ERROR_OPERATION_ABORTED rather than ERROR_IO_INCOMPLETE after CancelIo.
-
-2012-05-25 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_serial.cc (fhandler_serial::raw_read): Just call ReadFile
- directly in case of non-blocking I/O and handle result gracefully.
-
-2012-05-24 Corinna Vinschen <corinna@vinschen.de>
-
- * thread.cc (__cygwin_lock_lock): Replace null thread check with test
- for cygwin_finished_initializing to handle process startup.
- (__cygwin_lock_trylock): Ditto.
- (__cygwin_lock_unlock): Ditto.
-
-2012-05-23 Corinna Vinschen <corinna@vinschen.de>
-
- * thread.cc (__cygwin_lock_lock): Take null thread at process startup
- into account.
- (__cygwin_lock_trylock): Ditto.
- (__cygwin_lock_unlock): Ditto.
-
-2012-05-23 Corinna Vinschen <corinna@vinschen.de>
-
- * thread.cc (pthread::cancel): Re-allow asynchronous cancellation from
- Cygwin code since it looks like the problem is Windows only.
-
-2012-05-23 Corinna Vinschen <corinna@vinschen.de>
-
- * thread.cc: Add a temporary workaround to help Cygwin along while
- newlib doesn't install cleanup handlers. Explain the problem.
- (class __cygwin_lock_handler): New class.
- (__cygwin_lock_cleanup): New function.
- (__cygwin_lock_lock): Push __cygwin_lock_cleanup thread cleanup
- handler.
- (__cygwin_lock_trylock): Ditto.
- (__cygwin_lock_unlock): Pop thread cleanup handler.
- (pthread::pop_cleanup_handler): Temporarily allow cleanup function to
- destroy cleanup handler so we can pop in another function than we
- pushed in.
-
-2012-05-23 Corinna Vinschen <corinna@vinschen.de>
-
- * thread.cc (pthread::cancel): Only allow asynchronous cancellation
- if the thread is not executing Cygwin or Windows code. Explain why.
-
-2012-05-23 Corinna Vinschen <corinna@vinschen.de>
-
- * thread.cc (pthread::precreate): Make sure mutex is recursive.
- Explain why.
-
-2012-05-23 Corinna Vinschen <corinna@vinschen.de>
-
- * thread.cc (pthread::pop_cleanup_handler): Move setting the cancelstate
- to PTHREAD_CANCEL_DISABLE from here...
- (pthread::pop_all_cleanup_handlers): ...to here, otherwise any explicit
- call to pthread_cleanup_pop disables cancellation for this thread.
-
-2012-05-23 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler.h (refcnt): Add i interlocked. Explain why.
- * winbase.h (ilockadd): New function.
- (InterlockedAdd): Define as ilockadd.
-
-2012-05-22 Corinna Vinschen <corinna@vinschen.de>
-
- * devices.in: Fix native name of /dev/kmem.
- * devices.cc: Regenerate.
- * dtable.cc (fh_alloc): Don't forget FH_KMEM.
- * fhandler_mem.cc (fhandler_dev_mem::open): Set errno to EACCES rather
- than ENOENT on systems not granting access to physical memory from
- user space.
-
-2012-05-22 Corinna Vinschen <corinna@vinschen.de>
-
- * thread.cc (pthread::cancel): Set thread's cancel_event in
- PTHREAD_CANCEL_ASYNCHRONOUS case, too. Explain why.
-
-2012-05-21 Corinna Vinschen <corinna@vinschen.de>
-
- * strace.cc (strace::activate): Move printing heap size from here...
- * heap.cc (heap_init_info): ...to here. Explain why. Print heap
- size in hex and decimal.
-
-2012-05-21 Corinna Vinschen <corinna@vinschen.de>
-
- * net.cc (cygwin_recvfrom): Don't shortcircuit if len == 0. Add comment
- to explain why.
- (cygwin_recv): Ditto.
- (cygwin_recvmsg): Ditto.
-
-2012-05-21 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_disk_file.cc (path_conv::isgood_inode): Rearrange, take
- Samba versions >= 3.5.4 into account, add comments.
-
-2012-05-16 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * DevNotes: Add entry cgf-000009.
- * smallprint.cc (__small_vsprintf): Always treat '%c' and '%C' as
- characters. Don't decode them if they are > 127.
- (__small_vswprintf): Ditto.
-
-2012-05-15 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * DevNotes: Add entry cgf-000008.
- * fhandler_tty.cc (bytes_available): Simplify by returning the number
- of bytes available in the message unless that is zero.
-
-2012-05-14 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * child_info.h (CURR_CHILD_INFO_MAGIC): Update.
-
-2012-05-14 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * DevNotes: Add entry cgf-000007.
- * child_info.h (child_info_spawn::parent_winpid): Declare new field.
- (child_info_spawn::get_parent_handle): Declare new function.
- * dcrt0.cc (child_info_spawn::get_parent_handle): Define new function.
- (child_info_spawn::handle_spawn): Recreate parent handle if possible
- when dynamically loaded. Don't mess with parent handle if it's NULL.
- * spawn.cc (child_info_spawn::worker): Set parent_winpid appropriately.
-
-2012-05-12 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * DevNotes: Add entry cgf-000006.
- * thread.cc (pthread::pop_cleanup_handler): Set cancel state to
- disabled to avoid recursively waiting for cancel.
-
-2012-05-12 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * DevNotes: Add entry cgf-000005.
- * fhandler.h (PIPE_ADD_PID): Redefine to something we actually DON'T
- use.
- * pipe.cc (fhandler_pipe::create): Avoid clearing all open_mode bits
- when checking for PIPE_ADD_PID. Properly keep track of len so that
- passed in name is not overwritten.
-
-2012-05-10 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * cygwin.din (memrchr): Export.
- * posix.sgml (std-gnu): Add memrchr.
- * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
-
-2012-05-10 Corinna Vinschen <corinna@vinschen.de>
-
- * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 16.
-
-2012-05-08 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * DevNotes: Add entry cgf-000004.
- * pinfo.cc (pinfo::init): Reuse shared memory if the state is marked
- with PID_REAPED.
- * spawn.cc (child_info_spawn::worker): Don't duplicate myself_pinfo
- into non-cygwin child.
-
- * fork.cc (frok::parent): Improve error output.
-
-2012-05-07 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * DevNotes: Add entry cgf-000003.
- * cygheap.h (init_cygheap::pid_handle): Delete.
- * dcrt0.cc (child_info_spawn::handle_spawn): Keep parent open if we
- have execed.
- * pinfo.cc (pinfo::thisproc): Remove pid_handle manipulations.
- (pinfo::init): Don't consider a reaped process to be available.
- * spawn.cc (child_info_spawn::worker): Remove pid_handle manipulations.
- Make wr_proc_pipe and parent noninheritable when starting a program
- which doesn't use the Cygwin DLL. Conditionally reset wr_proc_pipe to
- inheritable if CreateProcess fails. Inject wr_proc_pipe handle into
- non-Cygwin process. Consider a non-cygwin process to be 'synced'.
-
-2012-05-03 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * DevNotes: Add entry cgf-000002.
- * fhandler_tty.cc (bytes_available): Revert to previous Oct-2011
- behavior where a dummy buffer is used to determine how many bytes will
- be read.
- (fhandler_pty_master::ioctl): Correct coercion in assignment.
-
-2012-05-03 Corinna Vinschen <corinna@vinschen.de>
-
- * net.cc (get_adapters_addresses): Only create thread on affected
- systems. Change comment acordingly.
- * wincap.h (wincaps::has_gaa_largeaddress_bug): New element.
- * wincap.cc: Implement above element throughout.
- (wincap_8): New globale wincaps to support Windows 8.
- (wincapc::init): Take Windows 8 into account. Set new
- has_gaa_largeaddress_bug member to false on 32 bit systems.
-
-2012-05-02 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * DevNotes: New file. Add entry cgf-000001.
- * sigproc.cc (proc_terminate): Don't set parent pid of child to 1 if
- we've execed since the execed process is still considered the parent.
-
- * child_info.h: Bump copyright.
-
-2012-05-02 Corinna Vinschen <corinna@vinschen.de>
-
- * fenv.cc (fesetround): Fix test for valid input parameter.
- (fesetprec): Ditto.
-
-2012-04-30 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * fhandler.h (PIPE_ADD_PID): Define new flag.
- * pipe.cc (fhandler_pipe::create): Don't indiscriminately add process
- id to every pipe since some pipe names (fifo, tty) don't need it.
- * sigproc.cc (sigproc_init): Pass PIPE_ADD_PID to fhandler_pipe::create
- to ensure that pid is always part of sigwait pipe name.
-
-2012-04-28 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * environ.cc (struct parse_thing): Add "pipe_byte" option.
- * globals.cc (pipe_byte): Declare.
- * pipe.cc (fhandler_pipe::create): Use current process id in pipe name
- rather than pid for simple name collision avoidance. Do this only once
- to avoid extra overhead when a busy pipe is found. Honor pipe_byte to
- create non-message pipes if set.
- * sigproc.cc (sigproc_init): Use a specific name for the signal pipe.
-
-2012-04-27 Corinna Vinschen <corinna@vinschen.de>
-
- * path.cc (find_fast_cwd_pointer): Fix for W8 CP 32 bit.
-
-2012-04-25 Thomas Wolff <towo@towo.net>
-
- * fhandler.h (class dev_console): Add member ext_mouse_mode5.
- * fhandler_console.cc (fhandler_console::read): Implement extended
- mouse mode 1005 (xterm, mintty).
- Fix actual mouse reporting for large coordinates.
-
-2012-04-24 Corinna Vinschen <corinna@vinschen.de>
-
- * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 15.
-
-2012-04-24 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_console.cc (ALT_PRESSED): Define earlier, never undefine.
- (CTRL_PRESSED): Ditto.
- (fhandler_console::read): Simplify expressions testing for pressed ALT
- or CTRL modifier keys.
- (get_nonascii_key): Ditto.
-
-2012-04-24 Thomas Wolff <towo@towo.net>
-
- * fhandler.h (class dev_console): Add members ext_mouse_mode6 and
- ext_mouse_mode15.
- * fhandler_console.cc (fhandler_console::read): Implement extended
- mouse modes 1015 (urxvt, mintty, xterm) and 1006 (xterm). Recognize,
- but don't implement extended mouse mode 1005 (xterm, mintty).
- Support mouse coordinates greater than 222 (each axis). Fix formatting.
- (fhandler_console::char_command): Initialize enhanced mouse reporting
- modes.
-
-2012-04-21 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * dtable.cc (fh_alloc): Only disallow opening of nonexistent on-disk
- device.
- * path.cc (path_conv::check): Remove PATH_KEPT_HANDLE setting.
- * path.h (path_types): Remove PATH_KEPT_HANDLE.
- (path_conv::kept_handle): Delete now-unneeded function.
-
-2012-04-19 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * dtable.cc (fh_alloc): Keep fh which was flagged as error if it is for
- an on-disk device and we were stating it.
- * path.cc (path_conv::check): Set PATH_KEPT_HANDLE.
- * path.h (path_types): Add PATH_KEPT_HANDLE.
- (path_conv::kept_handle): Implement.
-
-2012-04-18 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * fhandler.h (fhandler_base::nohandle): Revert to standard
- implementation.
- * dtable.cc (dtable::fixup_after_exec): Specifically reject releasing
- nohandle() type fhandlers rather than relying on contents of io_handle.
- (dtable::fixup_after_fork): Ditto.
- * fhandler_termios.cc: Add includes necessary for definitions of
- have_execed and have_execed_cygwin.
- (fhandler_termios::sigflush): Don't flush console input when we've
- started a non-Cygwin process.
-
-2012-04-15 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * wincap.h: Rename assitant to assistant throughout.
- * wincap.cc: Ditto.
- * devices.in (exists_console): Use fhandler_console::exists () rather
- than raw test.
- * devices.cc: Regenerate.
- * fhandler.h (fhandler_console::exists): Define new function.
- * fhandler_console.cc (fhandler_console::need_invisible): Use
- fhandler_console::exists () rather than raw test.
- * spawn.cc: Rename assitant to assistant throughout.
- (child_info_spawn::worker): Simplify test for when to start a
- non-Cygwin process in its own process group. Just do it whenever we
- start a non-Cygwin process.
-
-2012-04-12 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * devices.in (exists_console): Allow /dev/con{sole,in,out} to be
- referenced if a console exists.
- * devices.cc: Regenerate.
- * fhandler_console.cc (fhandler_console::set_unit): Ditto.
-
-2012-04-11 Corinna Vinschen <corinna@vinschen.de>
-
- * syscalls.cc (fhandler_base::stat_fixup): Fix inode numbers of
- non-device files in virtual fileysystems.
-
-2012-04-07 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * dtable.cc (cygwin_attach_handle_to_fd): Defend against NULL return
- from build_fh_*.
- (dtable::init_std_file_from_handle): Ditto.
- * mmap.cc (mmap_record::alloc_fh): Ditto.
- * path.cc (path_conv::check): Ditto.
-
-2012-04-06 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * fhandler.h (fhandler_base::nohandle): Implement "by hand" rather than
- through macro. Set io_handle to INVALID_HANDLE_VALUE when setting flag
- to true.
-
-2012-04-06 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * path.c (path_conv::check): Avoid directly referencing fields of the
- dev structure when it can be easily avoided.
-
-2012-04-05 Corinna Vinschen <corinna@vinschen.de>
-
- * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 14.
-
-2012-04-05 Corinna Vinschen <corinna@vinschen.de>
-
- * passwd.cc (pwdgrp::read_passwd): Fix pretty_ls entry typo contain
- the required number of colons.
-
-2012-04-04 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * fhandler.h (fhandler_pty_common::bytes_available): Declare new
- function.
- (fhandler_pty_master::flush_to_slave): Ditto.
- * fhandler_tty.cc (bytes_available): Define new function.
- (fhandler_pty_common::bytes_available): Ditto.
- (handler_pty_master::flush_to_slave): Ditto.
- (fhandler_pty_master::process_slave_output): Call flush_to_slave ()
- here. Use bytes_available () rather than PeekNamedPipe. Clean up
- sloppy logic.
- (fhandler_pty_slave::read): Use bytes_available () rather than
- PeekNamedPipe.
- (fhandler_pty_slave::ioctl): Ditto.
- (fhandler_pty_master::ioctl): Ditto.
- (fhandler_pty_master::cleanup): Remove ancient #if 0.
- * select.cc (peek_pipe): Call flush_to_slave whenever we're checking
- for a pty master.
-
-2012-04-04 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_nodevice.cc (fhandler_nodevice::open): Convert EROFS to
- ENOENT if non-existent file got opened for reading only. Explain why.
- * path.cc (path_conv::check): Stick to ENOENT if file has been opened
- for informational purposes only. Add to comment.
-
-2012-04-04 Corinna Vinschen <corinna@vinschen.de>
-
- * path.cc (path_conv::check): Convert device type to FH_FS for
- non-existent files on /dev, unless /dev itself doesn't exist on disk.
- Add comment to explain why.
-
-2012-04-04 Corinna Vinschen <corinna@vinschen.de>
-
- * hookapi.cc (rvadelta): Compute max_size using SizeOfRawData rather
- than VirtualSize.
-
-2012-04-04 Corinna Vinschen <corinna@vinschen.de>
-
- * passwd.cc (_getpass_close_fd): New static pthread cleanup handler.
- (getpass): Rework to use /dev/tty in the first place. Install
- _getpass_close_fd as pthread cleanup handler. Flush prompt explicitely.
- Lock input and switch off signal input handling when reading password.
-
-2012-04-03 Corinna Vinschen <corinna@vinschen.de>
-
- * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 13.
-
-2012-04-03 Corinna Vinschen <corinna@vinschen.de>
-
- * syscalls.cc (fhandler_base::stat_fixup): Replace string comparison
- with new device::is_dev_resident() call.
-
-2012-04-02 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * devices.h (lives_in_dev): New field.
- (dev_on_fs): Set bit size.
- (is_dev_resident): Define new method.
- * devices.in: Use different method for labelling requested name for dev
- storage: prefix it with a ='. Use an actual ':' to denote an internal
- device.
- (exists_console): Avoid repeated test.
- (exists_ntdev_silent): Rename from the less-descriptive exists_ntdevs.
- (dev_dev_storage): Delete unneeded define.
- * gendevices: Add a flag to each line denoting whether the device lives
- in /dev space.
- (generate): Handle special ":" case here for internal devices. Parse
- =something_dev as requiring a storage location. Tack the rest of the
- line back onto the reformulated "$rest".
- * devices.cc: Regenerate.
-
-2012-04-02 Corinna Vinschen <corinna@vinschen.de>
-
- * devices.h (device::get_device): New method.
- * fhandler_dev.cc (fhandler_dev::readdir): Set st_ino to device number.
- * syscalls.cc (fhandler_base::stat_fixup): Ditto. Fix link count for
- CD-ROM devices. Fix typo in comment.
-
-2012-04-02 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler.h (fhandler_base::stat_fixup): Rename from
- fhandler_base::set_ino_and_dev.
- * syscalls.cc (fhandler_base::stat_fixup): Ditto. Accommodate name
- change throughout. Fixup link count of console devices.
-
-2012-04-02 Corinna Vinschen <corinna@vinschen.de>
-
- * devices.h (FH_CYGDRIVE): Define as DEV_VIRTFS_MAJOR class device.
- (DEV_CYGDRIVE_MAJOR): Remove.
- (iscygdrive_dev): Define.
- * dtable.cc (fh_alloc): Accommodate above change.
- * path.cc (path_conv::check): Use iscygdrive_dev to check for cygdrive.
- * syscalls.cc (fhandler_base::set_ino_and_dev): Drop check for
- DEV_CYGDRIVE_MAJOR from conditional.
-
-2012-04-02 Corinna Vinschen <corinna@vinschen.de>
-
- * devices.h (FH_DEV): Define as DEV_VIRTFS_MAJOR class device.
- (DEV_DEV_MAJOR): Remove.
- * dtable.cc (fh_alloc): Accommodate above change.
- * syscalls.cc (set_ino_and_dev): Drop check for DEV_DEV_MAJOR from
- conditional.
-
-2012-04-02 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler.h (fhandler_base::set_ino_and_dev): Declare.
- * syscalls.cc (fhandler_base::set_ino_and_dev): New method to set
- st_ino, st_dev, and st_rdev for devices in a single spot.
- (fstat64): Call fhandler_base::set_ino_and_dev instead of setting
- st_ino, st_dev, and st_rdev here.
- (stat_worker): Ditto.
-
-2012-04-02 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler.h (fhandler_dev::open): Declare.
- (fhandler_dev::close): Declare.
- (fhandler_dev::fstat): Declare.
- (fhandler_dev::fstatvfs): Declare.
- (fhandler_cygdrive::fstatvfs): Declare.
- * fhandler_dev.cc (fhandler_dev::open): New method.
- (fhandler_dev::close): Ditto.
- (fhandler_dev::fstat): Ditto.
- (fhandler_dev::fstatvfs): Ditto.
- * fhandler_disk_file.cc (fhandler_base::fstat_helper): Don't fill
- st_rdev.
- (fhandler_cygdrive::fstatvfs): New method.
- * path.h (path_conv::fs_got_fs): New method.
- * mount.h (fs_info::got_fs): Change type to bool, make public.
-
-2012-04-02 Corinna Vinschen <corinna@vinschen.de>
-
- * mount.cc (fillout_mntent): Use "none" rather than 0 when checking
- FS type.
-
-2012-04-01 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * dtable.cc (dtable::fixup_close): Define new function.
- (dtable::fixup_after_exec): Use fixup_close() and detect when it was
- not possible to open an inherited file handle.
- (dtable::fixup_after_fork): Defensively close any file handles which
- were not, for some reason, inheritable.
- * dtable.h: Make #pragma once.
- (dtable::fixup_close): Declare new function.
- * fhandler_console.cc (fhandler_console::set_unit): Set I/O handles to
- NULL when this function fails.
-
-2012-04-01 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_dev.cc (fhandler_dev::readdir): Fix formatting. Simplify
- code. Use device::type() to fetch dirent compatible device type.
- Add comment.
-
-2012-03-31 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * devices.h (device::exists_func): Redefine field.
- (device::dev_on_fs): Remove unneeded bit field. Just make a normal
- boolean.
- (device::exists): Redefine function.
- * devices.in: Move previous functions earlier since they are now only
- defined static. Rename some functions due to an as-yet unresolved bug
- in gendevices. Rename posix part of internal-only devices with a
- double-slash. gendevices will eventuall translate that to a ":".
- (device::parse): Rework to use dev pointer and dev_storage_end.
- * devices.cc: Regenerate.
- * gendevices: Translate "// to ": after shilka processing.
-
-2012-03-31 Corinna Vinschen <corinna@vinschen.de>
-
- * devices.cc: Regenerate.
- * devices.h (device::exists_func): New member function pointer,
- replacing noexpose.
- (device::expose): Remove.
- (device::exists_never): Declare.
- (device::exists_ptys): Declare.
- (device::exists_cons): Declare.
- (device::exists_console): Declare.
- (device::exists_nt_dev): Declare.
- (device::exists): Declare.
- * devices.in (dev_storage): Replace former noexpose values with
- pointers to matching exists_XXX method.
- (device::exists_never): New method.
- (device::exists_ptys): New method.
- (device::exists_cons): New method.
- (device::exists_console): New method.
- (device::exists_nt_dev): New method.
- (device::exists): New method.
- * fhandler_dev.cc (fhandler_dev::readdir): Replace call to
- device::expose with call to device::exists and drop all further
- existence filtering since it's done in device::exists now.
- * path.cc (path_conv::check): Replace call to device::expose with call
- to device::exists.
-
-2012-03-30 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * devices.cc: Regenerate.
- * devices.h (device::noexpose): New field.
- (device::dev_on_fs): Make a bit field.
- (get_major): Use proper type for declaration.
- (expose): New field.
- (ext_dev_storage): Delete declaration.
- (dev_storage_size): Ditto.
- (dev_storage): New declaration.
- (dev_storage_end): Ditto.
- * devices.in: Mark /dev/ptym*, /dev/com*, /dev/pipe, /dev/fifo, and
- "/dev" as "no expose".
- * fhandler.h (fhandler_dev::lastrealpos): Delete declaration.
- (fhandler_dev::devidx): Declare new field.
- * fhandler_disk_file.cc: Move fhandler_dev functions into
- fhandler_dev.cc.
- * fhandler_dev.cc: Add includes needed for functions moved from
- fhandler_disk_file.cc.
- (dev_storage_scan_start): Define place to start listing devices.
- (dev_storage_size): Define size of array to scan.
- (fhandler_dev::fhandler_dev): Move here from fhandler_disk_file.cc.
- (fhandler_dev::opendir): Ditto.
- (fhandler_dev::readdir): Just check devidx for non-NULL to determine
- when to go to disk for /dev content. Use dev_storage rather than
- ext_dev_storage. Iterate over dev_storage using devidx pointer. Use
- accessor functions rather than raw references to the device struct.
- Only increment dir->__d_position when we are actually going to be
- returning something. Add debug_printf for exit.
- (fhandler_dev::rewinddir): Set devidx as appropriate depending on
- whether there's a /dev on disk or not.
- * gendevices: Don't mark dev_storage static but do put it in the _RDATA
- section.
- * path.cc (path_conv::check): Use new "device::expose()" function to
- decide to forbid programs from referencing internal device types.
-
-2012-03-30 Corinna Vinschen <corinna@vinschen.de>
-
- * posix.sgml (std-notes): Change description of flock restrictions.
-
-2012-03-30 Corinna Vinschen <corinna@vinschen.de>
-
- * devices.h (DEV_TTY_MAJOR): Define, use throughout where appropriate.
- (DEV_VIRTFS_MAJOR): Ditto.
- * fhandler_dev.cc (fhandler_dev::readdir): Add comments. Tweak tests
- for invisible devices. Don't print comX devices, only ttySX. Drop
- requirement to call stat64.
-
-2012-03-29 Corinna Vinschen <corinna@vinschen.de>
-
- * Makefile.in (DLL_OFILES): Add fhandler_dev.o.
- * devices.h (DEV_DEV_MAJOR): Define.
- (FH_DEV): Redefine in terms of DEV_DEV_MAJOR.
- (ext_dev_storage): Declare.
- (dev_storage_size): Declare.
- (dev_dev_storage): Declare.
- (dev_dev): Define.
- (isdev_dev): Define.
- * devices.in (dev_dev_storage): Activate.
- (ext_dev_storage): Define as externally available pointer to
- dev_storage.
- (dev_storage_size): Define to contain number of dev_storage elements.
- * dir.cc (rmdir): Handle /dev as always not empty.
- * dtable.cc (fh_alloc): Handle DEV_DEV_MAJOR.
- * fhandler.h (fhandler_dev): New class, derived from fhandler_disk_file.
- (fhandler_union): Add fhandler_dev member.
- * fhandler_disk_file.cc (class __DIR_mounts): Handle /dev directory
- to make sure it always exists.
- * fhandler_dev.cc: New file implementing /dev.
- * globals.cc (ro_u_dev): New R/O unicode string.
- * path.cc (path_conv::check): Handle FH_DEV device.
-
-2012-03-29 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * fhandler_console.cc (fhandler_console::set_unit): Don't succeed
- unless we are opening a console actually associated with this process.
-
-2012-03-29 Corinna Vinschen <corinna@vinschen.de>
-
- * sec_acl.cc (acl32): Fix potential crash if build_fh_name returns NULL.
-
-2012-03-29 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * exceptions.cc (ctrl_c_handler): Don't generate a SIGINT if we've
- execed a non-cygwin process. Let the Windows process deal with it
- itself.
-
-2012-03-28 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * sigproc.cc (proc_terminate): Avoid releasing myself.
-
-2012-03-28 Corinna Vinschen <corinna@vinschen.de>
-
- * times.cc (clock_setres): Set minperiod to period.
-
-2012-03-27 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_process.cc (process_tab): Add entry for mountinfo.
- (format_process_mountstuff): New function, derived from
- format_process_mounts. Only open another user's user_info shared
- memory area if the process is owned by another user. Actually
- access the opened shared user_info to get the right mount table.
- For other users, don't print remote cygdrive mount points. Print
- mountinfo or mounts output depending on the bool mountinfo argument.
- (format_process_mounts): Just call format_process_mountstuff with
- mountinfo set to false.
- (format_process_mountinfo): Ditto with mountinfo set to true.
-
-2012-03-27 Corinna Vinschen <corinna@vinschen.de>
-
- * times.cc (clock_setres): Revert previous change.
-
-2012-03-26 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler.h (class fhandler_dev_clipboard): Add fstat method.
- * fhandler_clipboard.cc (cygcb_t): New type for Cygwin-specific
- clipboard format.
- (set_clipboard): Use new clipboard format to allow setting a timestamp.
- (fhandler_dev_clipboard::fstat): New method. Read modification and
- access timestamp as well as length from clipboard data.
- (fhandler_dev_clipboard::read): Use new clipboard format.
-
-2012-03-26 Corinna Vinschen <corinna@vinschen.de>
-
- * hires.h (hires_ms::dmsecs): Drop unused method.
- * times.cc (JITTER): Remove.
- (gtod): Revert to process-local variable.
- (hires_ms::nsecs): Just return system time to disallow discrepancy with
- the OS.
- (hires_ms::resolution): Return coarsest timer value from OS. Add
- comment to explain why.
- (clock_setres): Ditto.
-
-2012-03-21 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * child_info.h: Reset magic number.
-
-2012-03-21 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * child_info.h (child_info::postfork): Define new function.
- * fork.cc (frok::parent): Call postfork to do all of the manipulation
- required prior to calling pinfo::remember.
- * pinfo.h (pinfo::set_rd_proc_pipe): Just set pinfo's rd_proc_pipe.
- Don't bother setting it to NULL.
- * sigproc.cc (child_info_spawn::wait_for_myself): Call postfork to set
- up myself for waiting.
- * spawn.cc (child_info_spawn::worker): Avoid now-unnecessary global
- lock. Consistently test mode rather than chtype when making
- wr_proc_pipe decisions. Call postfork() to set up stuff prior to
- pinfo::remember.
-
-2012-03-21 Corinna Vinschen <corinna@vinschen.de>
-
- * cygtls.cc (well_known_dlls): Add advapi32.dll.
-
-2012-03-21 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * child_info.h: Reset magic number.
- (child_info_spawn::wait_for_myself): Move function to sigproc.cc.
- * pinfo.cc (is_toplevel_proc): Delete unneeded variable.
- * sigproc.cc (child_info_spawn::wait_for_myself): Move function from
- header to here. Do all setup required to properly wait for top-level
- execed process to exit.
- * spawn.cc (child_info_spawn::worker): Attempt to properly handle
- _P_DETACH. Set wr_proc_pipe if top-level process even when execing.
- Just call wait_for_myself() to... wait for myself. Don't call cleanup
- twice.
-
-2012-03-21 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * pinfo.cc (proc_waiter): Remove debugging.
-
-2012-03-20 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * dtable.cc (set_std_handle): Call SetStdHandle with NULL if fd is
- closed.
- (dtable::release): "Close" standard handle if appropriate.
- * dcrt0.cc (dll_crt0_0): Fix minor switch formatting problem.
- * fork.cc (frok::parent): Make minor comment indentation change.
-
-2012-03-20 Corinna Vinschen <corinna@vinschen.de>
-
- * syscalls.cc (lseek): Fix debug output.
-
-2012-03-20 Christian Franke <franke@computer.org>
-
- * ntdll.h (SharedUserData): Add volatile qualifier. This fixes a
- possible infinite loop in hires_ms::timeGetTime_ns.
-
-2012-03-20 Corinna Vinschen <corinna@vinschen.de>
-
- * include/cygwin/socket.h: Fix definitions of MCAST_INCLUDE and
- MCAST_EXCLUDE.
-
-2012-03-20 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * child_info.h (CURR_CHILD_INFO_MAGIC): Reset.
- (child_info::rd_proc_pipe): Declare new field.
- (child_info::wr_proc_pipe): Ditto.
- (child_info::prefork): Declare new function, derived from previous
- pinfo version.
- * dcrt0.cc (child_info_fork::handle_fork): Close previous wr_proc_pipe
- when appropriate and assign new one from passed-in child_info block.
- (child_info_spawn::handle_spawn): Assign our wr_proc_pipe handle from
- passed-in child_info block.
- * fork.cc (child_info::prefork): Define new function.
- (frok::child): Clear rd_proc_pipe and wr_proc_pipe so they will not be
- closed by the child_info destructor.
- (frok::parent): Use child_info prefork handling, outside of retry loop.
- Set rd_proc_pipe in child's pinfo after successful CreateProcess.
- Eliminate postfork call.
- * globals.cc (my_wr_proc_pipe): Define/declare new variable.
- * pinfo.cc (pinfo::pending_rd_proc_pipe): Delete.
- (pinfo::pending_wr_proc_pipe): Ditto.
- (pinfo::prefork): Ditto.
- (pinfo::postfork): Ditto.
- (pinfo::postexec): Ditto.
- (pinfo::wait): Assume that rd_proc_pipe is set up correctly prior to
- call.
- (_pinfo::alert_parent): Replace "wr_proc_pipe" with "my_wr_proc_pipe".
- * pinfo.h (_pinfo::_wr_proc_pipe): Delete declaration.
- (_pinfo::set_rd_proc_pipe): Define new function.
- (pinfo::pending_rd_proc_pipe): Delete declaration.
- (pinfo::pending_wr_proc_pipe): Ditto.
- (pinfo::prefork): Ditto.
- (pinfo::postfork): Ditto.
- (pinfo::postexec): Ditto.
- (pinfo::wr_proc_pipe): Ditto.
- * sigproc.cc (child_info::child_info): Clear rd_proc_pipe and
- wr_proc_pipe.
- (child_info::cleanup): Close rd_proc_pipe and
- wr_proc_pipe if necessary.
- (child_info_fork::child_info_fork): Set forker_finished to NULL by
- default.
- (child_info_spawn::child_info_spawn): Use my_wr_proc_pipe rather than
- myself->wr_proc_pipe.
- (child_info::sync): Ditto.
- (child_info_spawn::cleanup): Call child_info::cleanup.
- * spawn.cc (child_info_spawn::worker): Remove call to myself.prefork().
- Set wr_proc_pipe when execing or set up new rd_proc_pipe/wr_proc_pipe
- via child_info::prefork when spawning. Remove call to pinfo::postexec.
- Set rd_proc_pipe in child pinfo when spawning. Use my_wr_proc_pipe
- rather than myself->wr_proc_pipe. Remove call to postfork.
-
-2012-03-19 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * pinfo.cc (pinfo_init): Cosmetic change: unset "destroy" for myself.
- (pinfo::wait): Change some comments.
- (pinfo::prefork): Move a comment.
- (pinfo::postfork): Set pending_*_pipe variables to NULL if closed.
- (pinfo::postexec): Use right name when closing handle.
- (_pinfo::alert_parent): Ditto.
- * sigproc.h (hold_everything): Remove debugging label.
-
-2012-03-19 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * cygserver_ipc.h: Include sigproc.h for signal_arrived declaration.
-
-2012-03-19 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * cygprops.h: Use #pragma once.
- * mkglobals_h: Ditto for generated globals.h file.
- * globals.cc: Use specific NO_GLOBALS_H flag to control inclusion of
- globals.h.
- * winsup.h: Honor NO_GLOBALS_H to control inclusion of globals.h. Make
- clear_procimptoken extern inline so that it is only defined when
- needed.
-
-2012-03-19 Corinna Vinschen <corinna@vinschen.de>
-
- * thread.cc (cancelable_wait): Don't malloc tbi, just make it a struct
- on the stack to avoid memory leak.
-
-2012-03-19 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * pinfo.cc (pinfo::wait): Handle case where prefork was not called
- prior to calling wait(). This is the case when we are reabsorbing
- processes after being execed.
-
-2012-03-16 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * fork.cc (lock_signals): Move to sigproc.h.
- (lock_pthread): Ditto.
- (hold_everything): Ditto.
- (frok::parent): Call myself.prefork() just before calling
- CreateProcess. Call myself.postfork () on function exit.
- * pinfo.cc (pinfo::pending_rd_proc_pipe): Define.
- (pinfo::pending_wr_proc_pipe): Ditto.
- (_pinfo::dup_proc_pipe): Delete.
- (pinfo::wait): Move pipe creation into pinfo::prefork. Set pipe
- variables from pending_*.
- (_pinfo::sync_proc_pipe): Delete.
- (_pinfo::proc_pipe_owner): Ditto.
- (pinfo::prefork): Define new function.
- (pinfo::postfork): Ditto.
- (pinfo::postexec): Ditto.
- (_pinfo::alert_parent): Remove obsolete call to sync_proc_pipe.
- (_pinfo::dup_proc_pipe): Delete declaration.
- (_pinfo::sync_proc_pipe): Ditto.
- (pinfo::pending_rd_proc_pipe): Declare.
- (pinfo::pending_wr_proc_pipe): Ditto.
- (pinfo::prefork): Declare new function.
- (pinfo::postfork): Ditto.
- (pinfo::postexec): Ditto.
- (pinfo::wr_proc_pipe): Define new wrapper function.
- * sigproc.h: Include "sync.h". Move locking functions from fork to
- here.
- * spawn.cc (child_info_spawn::worker): Delete now-unneeded requirement
- to record orig_wr_proc_pipe. Call hold_everything prior to doing
- anything. Call myself.prefork() if spawning. Replace wr_proc_pipe
- synchronization with call to myself.postexec(). Call myself.postfork()
- if not execing.
- * sync.h: Replace #ifdef wrapper with "#pragma once".
-
-2012-03-13 Corinna Vinschen <corinna@vinschen.de>
-
- * hookapi.cc (hook_or_detect_cygwin): Change condition when to use
- importRVAMaxSize or importRVASize for the mapping size. Make sure
- to map never more than the section size. Change comments accordingly.
-
-2012-03-13 Corinna Vinschen <corinna@vinschen.de>
-
- * include/netdb.h (h_errno): Add self-referencing macro and comment.
-
-2012-03-12 Corinna Vinschen <corinna@vinschen.de>
- Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * fhandler.h (wait_return): Add overlapped_nullread.
- * fhandler.cc (fhandler_base_overlapped::wait_overlapped): Detect
- zero-byte read as a special case.
- (fhandler_base_overlapped::raw_read): Keep looping when zero-byte read
- detected without EOF.
- (fhandler_base_overlapped::raw_write): Quiet gcc warning by adding
- overlapped_nullread to switch statement even though it will never
- actually be hit.
-
-2012-03-10 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * dtable.cc (fh_alloc): Treat pc.dev as unsigned.
- * fhandler_console.cc (fhandler_console::set_unit): Use lock always to
- avoid races between competing cygwin processes running on the console.
-
-2012-03-09 Corinna Vinschen <corinna@vinschen.de>
-
- * hookapi.cc (find_first_notloaded_dll): Fix a compiler warning.
-
-2012-03-09 Corinna Vinschen <corinna@vinschen.de>
-
- * hookapi.cc (rvadelta): Add parameter to return maximum available
- size from start of import RVA table to end of section.
- (find_first_notloaded_dll): Take big executables into account. Use
- offset and size computation as in hook_or_detect_cygwin, just simpler.
- (hook_or_detect_cygwin): Return NULL rather than false througout.
- Change computation of required mapping size to take non-gcc compilers
- into account. Explain the differences and what we do against them.
- Don't alloca buf if fn is NULL. Never use buf if fn is NULL.
-
-2012-03-08 Corinna Vinschen <corinna@vinschen.de>
-
- * net.cc (call_gaa): New thread function to call GetAdaptersAddresses.
- (get_adapters_addresses): Call call_gaa. If necessary, call it as
- child thread. Explain why that's necessary.
-
-2012-03-08 Václav Zeman <vhaisman@gmail.com>
-
- * path.cc (readlink): Avoid calling strlen() twice.
-
-2012-03-07 Corinna Vinschen <corinna@vinschen.de>
-
- * Throughout, replace usage of w32api's min with MIN from sys/param.h.
-
-2012-03-07 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * pinfo.cc (_pinfo::dup_proc_pipe): Reorganize to provide more
- information for failing condition.
- (pinfo::wait): Pass name of function to dup_proc_pipe. Eliminate error
- check for dup_proc_pipe since it never actually returned an error.
- * pinfo.h (_pinfo::dup_proc_pipe): Add an argument.
- * spawn.cc (child_info_spawn::worker): Pass name of function to
- dup_proc_pipe.
-
-2012-03-07 Corinna Vinschen <corinna@vinschen.de>
-
- * glob.cc (MAXPATHLEN): Reinstantiate with a value of 8192.
-
-2012-03-05 Denis Excoffier <cygwin@Denis-Excoffier.org>
-
- * pinfo.cc (_pinfo::dup_proc_pipe): Fix order of arguments in debug
- output.
-
-2012-03-05 Corinna Vinschen <corinna@vinschen.de>
-
- * init.cc (dll_entry): Move wincap.init call back from here...
- * dcrt0.cc (dll_crt0_0): ...to here.
-
-2012-03-05 Corinna Vinschen <corinna@vinschen.de>
-
- * cygheap.h (enum fcwd_version_t): Move here from path.cc.
- (class fcwd_access_t): Ditto. Only declare methods.
- (class cwdstuff): Move fast_cwd_ptr and fast_cwd_version from shared
- DLL section here.
- * path.cc: Keep fcwd_access_t method definitions.
- (fcwd_access_t::fast_cwd_version): New method.
- (find_fast_cwd_pointer): Change comment. Mention test on W8CP.
- (cwdstuff::init): Initialize fast_cwd_ptr and fast_cwd_version.
-
-2012-03-05 Corinna Vinschen <corinna@vinschen.de>
-
- * dll_init.cc (dll_list::operator[]): Extend comment a bit more to
- explain previous patch.
-
-2012-03-04 Corinna Vinschen <corinna@vinschen.de>
-
- * dll_init.cc (dll_list::alloc): Compare linked DLLs by basename only.
- Explain why. Add code to check if a DLL with the same basename but
- different path is the same DLL. Bail out if not.
- (in_load_after_fork): New static NO_COPY bool to allow to differ
- between linked and loaded DLL at fork.
- (dll_list::load_after_fork): Set in_load_after_fork accordingly.
- (dll_dllcrt0_1): Don't treat DLL as linked if in_load_after_fork is set.
- Drop test for in_forkee.
-
-2012-03-04 Corinna Vinschen <corinna@vinschen.de>
-
- * dll_init.cc: Revert pathname changes from 2012-02-08.
- (dll_list::operator[]): Add long comment to explain the misery.
- (dll_list::alloc): Skip long pathname prefix potentially returned by
- GetModuleFileNameW.
- * dll_init.h (dll_list::find_by_modname): Add back declaration.
-
-2012-03-04 Corinna Vinschen <corinna@vinschen.de>
-
- * winver.rc: Bump copyright date.
-
-2012-03-03 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * fhandler_console.cc (fhandler_console::dup): Only set ctty when we
- haven't specifically called setsid.
- * fhandler_tty.cc (fhandler_pty_slave::dup): Ditto. Also add comment
- documenting research into rxvt problem.
- * fhandler_termios.cc (fhandler_termios::tcsetpgrp): Don't check
- specifically for myself->ctty == -1. Test for > 0 as that is the
- correct test.
- (fhandler_termios::sigflush): Ditto.
-
-2012-03-02 Corinna Vinschen <corinna@vinschen.de>
-
- * flock.cc (allow_others_to_sync): Reorder conditional expression to
- check for DACL presence first, since otherwise dacl pointer value is
- undefined. Add comment.
-
-2012-03-02 Corinna Vinschen <corinna@vinschen.de>
-
- * flock.cc (allow_others_to_sync): Use RtlGetDaclSecurityDescriptor
- rather than accessing the SECURITY_DESCRIPTOR structure directly.
- Take no DACL and NULL DACL into account.
-
-2012-03-02 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_console.cc (fhandler_console::input_tcsetattr): Revert
- previous patch.
- (fhandler_console::open_setup): Install Ctrl-C handler here, if this
- console is the controlling tty and the process hasn't been started by
- a Cygwin process.
-
-2012-03-02 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_console.cc (fhandler_console::input_tcsetattr): Set the
- state of the Ctrl-C handler depending on the setting of
- ENABLE_PROCESSED_INPUT.
-
-2012-02-28 Eric Blake <eblake@redhat.com>
-
- * include/sys/termios.h (tcgetsid): Fix return type.
- * termios.cc (tcgetsid): Likewise.
- * fhandler_termios.cc (fhandler_termios::tcgetsid): Likewise.
- * fhandler.h (fhandler_base): Likewise.
- * fhandler.cc (fhandler_base::tcgetsid): Likewise.
-
-2012-02-28 Corinna Vinschen <corinna@vinschen.de>
-
- * cygtls.cc (well_known_dlls): Add shlwapi.dll.
-
-2012-02-27 Corinna Vinschen <corinna@vinschen.de>
-
- * cygtls.cc (dll_cmp): New comparison function for bsearch.
- (well_known_dlls): New array containing well-known DLLs.
- (_cygtls::call2): Add code for BLODA detection.
- * net.cc (fdsock): Ditto.
-
-2012-02-26 Corinna Vinschen <corinna@vinschen.de>
-
- * environ.cc (enum settings): Add setbool. Rename justset to setdword
- to avoid future problems.
- (struct parse_thing): Change all justset to setbool for bool variables.
- (parse_options): Add a case for setbool setting for bool variables
- since justset (now setdword) always writes a DWORD value, thus
- overwriting adjacent memory locations.
- * external.cc (cygwin_internal): Drop extern declaration.
-
-2012-02-26 Corinna Vinschen <corinna@vinschen.de>
-
- * environ.cc (dos_file_warning): Drop declaration.
- (ignore_case_with_glob): Ditto.
- (allow_winsymlinks): Ditto.
- (reset_com): Move definition to globals.cc.
- (struct parse_thing): Add "detect_bloda" option.
- * fhandler_serial.cc (fhandler_serial::open): Drop (incorrect)
- declaration of reset_com.
- * globals.cc (ignore_case_with_glob): Move definition into C++-only
- block.
- (dos_file_warning): Define.
- (allow_winsymlinks): Define.
- (reset_com): Define.
- (detect_bloda): Define.
- * path.cc (dos_file_warning): Drop definition here.
- (allow_winsymlinks): Drop definition here.
-
-2012-02-26 Corinna Vinschen <corinna@vinschen.de>
-
- * flock.cc (LOCK_DIR_NAME_FMT): Define.
- (LOCK_DIR_NAME_LEN): Define.
- (LOCK_DIR_NAME_DEV_OFF): Define.
- (LOCK_DIR_NAME_INO_OFF): Define.
- (LOCK_OBJ_NAME_FMT): Define. Add comment.
- (class lockf_t): Use bitsize-explicit types. Declare from_obj_name,
- (class inode_t): Make use, unuse and inuse methods public. Add a
- lock argument to get method declaration.
- (inode_t::get): Add lock argument. Only lock node if lock arg is true.
- (inode_t::inode_t): Use LOCK_DIR_NAME_FMT as format string.
- (lockf_t::from_obj_name): New method to generate lockf_t content from
- lock event object basename.
- (inode_t::get_all_locks_list): Just call from_obj_name here and copy
- result into final lockf_t.
- (create_lock_obj_attr): Use LOCK_OBJ_NAME_FMT as format string.
- (create_lock_in_parent): New thread function to create lockf_t
- structure in parent process.
- (delete_lock_in_parent): New thread function to reap stale BSD locks in
- parent process.
- (lockf_t::create_lock_obj): Try to duplicate lock object handle into
- parent process and call create_lock_in_parent as parent remote thread.
- (lockf_t::del_lock_obj): Call delete_lock_in_parent as parent remote
- thread.
- (fhandler_disk_file::lock): Add lock arg to inode_t::get call.
-
-2012-02-25 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 12.
-
2012-02-21 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
* cygwin.din (scandirat): Export.
@@ -2077,7 +156,7 @@
2012-02-13 Corinna Vinschen <corinna@vinschen.de>
- * Makefile.in (clean): Remove non-existent regexp dir.
+ * Makefile.in (clean): Remove non-existant regexp dir.
* collate.h: New header.
(__collate_range_cmp): Declare.
@@ -2354,7 +433,7 @@
* fhandler.h (fhandler_fifo::arm): Declare new function.
* fhandler_fifo.cc (fhandler_fifo::arm): Define new function.
(fhandler_fifo::open): Fix handling of RDWR pipes to avoid opening a
- second handle. Use arm() function to set events.
+ second handle. Use arm() function to set events.
(fhandler_fifo::raw_read): Correctly go into "connect again logic" when
we detect another writer is available. Use arm() function to set event.
* pipe.cc (fhandler_pipe::create): Add more detail to debugging output.
diff --git a/winsup/cygwin/DevNotes b/winsup/cygwin/DevNotes
deleted file mode 100644
index 68d8320cd..000000000
--- a/winsup/cygwin/DevNotes
+++ /dev/null
@@ -1,385 +0,0 @@
-2012-08-09 cgf-000014
-
-So, apparently I got it somewhat right before wrt signal handling.
-Checking on linux, it appears that signals will be sent to a thread
-which can accept the signal. So resurrecting and extending the
-"find_tls" function is in order. This function will return the tls
-of any thread which 1) is waiting for a signal with sigwait*() or
-2) has the signal unmasked.
-
-In redoing this it became obvious that I had the class designation wrong
-for the threadlist handling so I moved the manipulation of the global
-threadlist into the cygheap where it logically belongs.
-
-2012-07-21 cgf-000013
-
-These changes reflect a revamp of the "wait for signal" functionality
-which has existed in Cygwin through several signal massages.
-
-We now create a signal event only when a thread is waiting for a signal
-and arm it only for that thread. The "set_signal_arrived" function is
-used to establish the event and set it in a location referencable by
-the caller.
-
-I still do not handle all of the race conditions. What happens when
-a signal comes in just after a WF?O succeeds for some other purpose? I
-suspect that it will arm the next WF?O call and the subsequent call to
-call_signal_handler could cause a function to get an EINTR when possibly
-it shouldn't have.
-
-I haven't yet checked all of the test cases for the URL listed in the
-previous entry.
-
-Baby steps.
-
-2012-06-12 cgf-000012
-
-These changes are the preliminary for redoing the way threads wait for
-signals. The problems are shown by the test case mentioned here:
-
-http://cygwin.com/ml/cygwin/2012-05/msg00434.html
-
-I've known that the signal handling in threads wasn't quite right for
-some time. I lost all of my thread signal tests in the great "rm -r"
-debacle of a few years ago and have been less than enthusiastic about
-redoing everything (I had PCTS tests and everything). But it really is
-time to redo this signal handling to make it more like it is supposed to
-be.
-
-This change should not introduce any new behavior. Things should
-continue to behave as before. The major differences are a change in the
-arguments to cancelable_wait and cygwait now uses cancelable_wait and,
-so, the returns from cygwait now mirror cancelable_wait.
-
-The next change will consolidate cygwait and cancelable_wait into one
-cygwait function.
-
-2012-06-02 cgf-000011
-
-The refcnt handling was tricky to get right but I had convinced myself
-that the refcnt's were always incremented/decremented under a lock.
-Corinna's 2012-05-23 change to refcnt exposed a potential problem with
-dup handling where the fdtab could be updated while not locked.
-
-That should be fixed by this change but, on closer examination, it seems
-like there are many places where it is possible for the refcnt to be
-updated while the fdtab is not locked since the default for
-cygheap_fdget is to not lock the fdtab (and that should be the default -
-you can't have read holding a lock).
-
-Since refcnt was only ever called with 1 or -1, I broke it up into two
-functions but kept the Interlocked* operation. Incrementing a variable
-should not be as racy as adding an arbitrary number to it but we have
-InterlockedIncrement/InterlockedDecrement for a reason so I kept the
-Interlocked operation here.
-
-In the meantime, I'll be mulling over whether the refcnt operations are
-actually safe as they are. Maybe just ensuring that they are atomically
-updated is enough since they control the destruction of an fh. If I got
-the ordering right with incrementing and decrementing then that should
-be adequate.
-
-2012-06-02 cgf-000010
-
-<1.7.16>
-- Fix emacs problem which exposed an issue with Cygwin's select() function.
- If a signal arrives while select is blocking and the program longjmps
- out of the signal handler then threads and memory may be left hanging.
- Fixes: http://cygwin.com/ml/cygwin/2012-05/threads.html#00275
-</1.7.16>
-
-This was try #4 or #5 to get select() signal handling working right.
-It's still not there but it should now at least not leak memory or
-threads.
-
-I mucked with the interface between cygwin_select and select_stuff::wait
-so that the "new" loop in select_stuff::wait() was essentially moved
-into the caller. cygwin_select now uses various enum states to decide
-what to do. It builds the select linked list at the beginning of the
-loop, allowing wait() to tear everything down and restart. This is
-necessary before calling a signal handler because the signal handler may
-longjmp away.
-
-I initially had this all coded up to use a special signal_cleanup
-callback which could be called when a longjmp is called in a signal
-handler. And cygwin_select() set up and tore down this callback. Once
-I got everything compiling it, of course, dawned on me that just because
-you call a longjmp in a signal handler it doesn't mean that you are
-jumping *out* of the signal handler. So, if the signal handler invokes
-the callback and returns it will be very bad for select(). Hence, this
-slower, but hopefully more correct implementation.
-
-(I still wonder if some sort of signal cleanup callback might still
-be useful in the future)
-
-TODO: I need to do an audit of other places where this problem could be
-occurring.
-
-As alluded to above, select's signal handling is still not right. It
-still acts as if it could call a signal handler from something other
-than the main thread but, AFAICT, from my STC, this doesn't seem to be
-the case. It might be worthwhile to extend cygwait to just magically
-figure this out and not even bother using w4[0] for scenarios like this.
-
-2012-05-16 cgf-000009
-
-<1.7.16>
-- Fix broken console mouse handling. Reported here:
- http://cygwin.com/ml/cygwin/2012-05/msg00360.html
-</1.7.16>
-
-I did a cvs annotate on smallprint.cc and see that the code to translate
-%characters > 127 to 0x notation was in the 1.1 revision. Then I
-checked the smallprint.c predecessor. It was in the 1.1 version of that
-program too, which means that this odd change has probably been around
-since <= 2000.
-
-Since __small_sprintf is supposed to emulate sprintf, I got rid of the
-special case handling. This may affect fhandler_socket::bind. If so, we
-should work around this problem there rather than keeping this strange
-hack in __small_printf.
-
-2012-05-14 cgf-000008
-
-<1.7.16>
-- Fix hang when zero bytes are written to a pty using
- Windows WriteFile or equivalent. Fixes:
- http://cygwin.com/ml/cygwin/2012-05/msg00323.html
-</1.7.16>
-
-cgf-000002, as usual, fixed one thing while breaking another. See
-Larry's predicament in: http://goo.gl/oGEr2 .
-
-The problem is that zero byte writes to the pty pipe caused the dread
-end-of-the-world-as-we-know-it problem reported on the mailing list
-where ReadFile reads zero bytes even though there is still more to read
-on the pipe. This is because that change caused a 'record' to be read
-and a record can be zero bytes.
-
-I was never really keen about using a throwaway buffer just to get a
-count of the number of characters available to be read in the pty pipe.
-On closer reading of the documentation for PeekNamedPipe it seemed like
-the sixth argument to PeekNamedPipe should return what I needed without
-using a buffer. And, amazingly, it did, except that the problem still
-remained - a zero byte message still screwed things up.
-
-So, we now detect the case where there is zero bytes available as a
-message but there are bytes available in the pipe. In that scenario,
-return the bytes available in the pipe rather than the message length of
-zero. This could conceivably cause problems with pty pipe handling in
-this scenario but since the only way this scenario could possibly happen
-is when someone is writing zero bytes using WriteFile to a pty pipe, I'm
-ok with that.
-
-2012-05-14 cgf-000007
-
-<1.7.16>
-- Fix invocation of strace from a cygwin process. Fixes:
- http://cygwin.com/ml/cygwin/2012-05/msg00292.html
-</1.7.16>
-
-The change in cgf-000004 introduced a problem for processes which load
-cygwin1.dll dynamically. strace.exe is the most prominent example of
-this.
-
-Since the parent handle is now closed for "non-Cygwin" processes, when
-strace.exe tried to dynamically load cygwin1.dll, the handle was invalid
-and child_info_spawn::handle_spawn couldn't use retrieve information
-from the parent. This eventually led to a strace_printf error due to an
-attempt to dereference an unavailable cygheap. Probably have to fix
-this someday. You shouldn't use the cygheap while attempting to print
-an error about the inavailability of said cygheap.
-
-This was fixed by saving the parent pid in child_info_spawn and calling
-OpenProcess for the parent pid and using that handle iff a process is
-dynamically loaded.
-
-2012-05-12 cgf-000006
-
-<1.7.16>
-- Fix hang when calling pthread_testcancel in a canceled thread.
- Fixes some of: http://cygwin.com/ml/cygwin/2012-05/msg00186.html
-</1.7.16>
-
-This should fix the first part of the reported problem in the above
-message. The cancel seemed to actually be working but, the fprintf
-eventually ended up calling pthread_testcancel. Since we'd gotten here
-via a cancel, it tried to recursively call the cancel handler causing a
-recursive loop.
-
-2012-05-12 cgf-000005
-
-<1.7.16>
-- Fix pipe creation problem which manifested as a problem creating a
-fifo. Fixes: http://cygwin.com/ml/cygwin/2012-05/msg00253.html
-</1.7.16>
-
-My change on 2012-04-28 introduced a problem with fifos. The passed
-in name was overwritten. This was because I wasn't properly keeping
-track of the length of the generated pipe name when there was a
-name passed in to fhandler_pipe::create.
-
-There was also another problem in fhandler_pipe::create. Since fifos
-use PIPE_ACCESS_DUPLEX and PIPE_ACCESS_DUPLEX is an or'ing of
-PIPE_ACCESS_INBOUND and PIPE_ACCESS_OUTBOUND, using PIPE_ACCESS_OUTBOUND
-as a "never-used" option for PIPE_ADD_PID in fhandler.h was wrong. So,
-fifo creation attempted to add the pid of a pipe to the name which is
-wrong for fifos.
-
-2012-05-08 cgf-000004
-
-The change for cgf-000003 introduced a new problem:
-http://cygwin.com/ml/cygwin/2012-05/msg00154.html
-http://cygwin.com/ml/cygwin/2012-05/msg00157.html
-
-Since a handle associated with the parent is no longer being duplicated
-into a non-cygwin "execed child", Windows is free to reuse the pid of
-the parent when the parent exits. However, since we *did* duplicate a
-handle pointing to the pid's shared memory area into the "execed child",
-the shared memory for the pid was still active.
-
-Since the shared memory was still available, if a new process reuses the
-previous pid, Cygwin would detect that the shared memory was not created
-and had a "PID_REAPED" flag. That was considered an error, and, so, it
-would set procinfo to NULL and pinfo::thisproc would die since this
-situation is not supposed to occur.
-
-I fixed this in two ways:
-
-1) If a shared memory region has a PID_REAPED flag then zero it and
-reuse it. This should be safe since you are not really supposed to be
-querying the shared memory region for anything after PID_REAPED has been
-set.
-
-2) Forego duping a copy of myself_pinfo if we're starting a non-cygwin
-child for exec.
-
-It seems like 2) is a common theme and an audit of all of the handles
-that are being passed to non-cygwin children is in order for 1.7.16.
-
-The other minor modification that was made in this change was to add the
-pid of the failing process to fork error output. This helps slightly
-when looking at strace output, even though in this case it was easy to
-find what was failing by looking for '^---' when running the "stv"
-strace dumper. That found the offending exception quickly.
-
-2012-05-07 cgf-000003
-
-<1.7.15>
-Don't make Cygwin wait for all children of a non-cygwin child program.
-Fixes: http://cygwin.com/ml/cygwin/2012-05/msg00063.html,
- http://cygwin.com/ml/cygwin/2012-05/msg00075.html
-</1.7.15>
-
-This problem is due to a recent change which added some robustness and
-speed to Cygwin's exec/spawn handling by not trying to force inheritance
-every time a process is started. See ChangeLog entries starting on
-2012-03-20, and multiple on 2012-03-21.
-
-Making the handle inheritable meant that, as usual, there were problems
-with non-Cygwin processes. When Cygwin "execs" a non-Cygwin process N,
-all of its N + 1, N + 2, ... children will also inherit the handle.
-That means that Cygwin will wait until all subprocesses have exited
-before it returns.
-
-I was willing to make this a restriction of starting non-Cygwin
-processes but the problem with allowing that is that it can cause the
-creation of a "limbo" pid when N exits and N + 1 and friends are still
-around. In this scenario, Cygwin dutifully notices that process N has
-died and sets the exit code to indicate that but N's parent will wait on
-rd_proc_pipe and will only return when every N + ... windows process
-has exited.
-
-The removal of cygheap::pid_handle was not related to the initial
-problem that I set out to fix. The change came from the realization
-that we were duping the current process handle into the child twice and
-only needed to do it once. The current process handle is used by exec
-to keep the Windows pid "alive" so that it will not be reused. So, now
-we just close parent in child_info_spawn::handle_spawn iff we're not
-execing.
-
-In debugging this it bothered me that 'ps' identified a nonactive pid as
-active. Part of the reason for this was the 'parent' handle in
-child_info was opened in non-Cygwin processes, keeping the pid alive.
-That has been kluged around (more changes after 1.7.15) but that didn't
-fix the problem. On further investigation, this seems to be caused by
-the fact that the shared memory region pid handles were still being
-passed to non-cygwin children, keeping the pid alive in a limbo-like
-fashion. This was easily fixed by having pinfo::init() consider a
-memory region with PID_REAPED as not available. A more robust fix
-should be considered for 1.7.15+ where these handles are not passed
-to non-cygwin processes.
-
-This fixed the problem where a pid showed up in the list after a user
-does something like: "bash$ cmd /c start notepad" but, for some reason,
-it does not fix the problem where "bash$ setsid cmd /c start notepad".
-That bears investigation after 1.7.15 is released but it is not a
-regression and so is not a blocker for the release.
-
-2012-05-03 cgf-000002
-
-<1.7.15>
-Fix problem where too much input was attempted to be read from a
-pty slave. Fixes: http://cygwin.com/ml/cygwin/2012-05/msg00049.html
-</1.7.15>
-
-My change on 2012/04/05 reintroduced the problem first described by:
-http://cygwin.com/ml/cygwin/2011-10/threads.html#00445
-
-The problem then was, IIRC, due to the fact that bytes sent to the pty
-pipe were not written as records. Changing pipe to PIPE_TYPE_MESSAGE in
-pipe.cc fixed the problem since writing lines to one side of the pipe
-caused exactly that the number of characters to be read on the other
-even if there were more characters in the pipe.
-
-To debug this, I first replaced fhandler_tty.cc with the 1.258,
-2012/04/05 version. The test case started working when I did that.
-
-So, then, I replaced individual functions, one at a time, in
-fhandler_tty.cc with their previous versions. I'd expected this to be a
-problem with fhandler_pty_master::process_slave_output since that had
-seen the most changes but was surprised to see that the culprit was
-fhandler_pty_slave::read().
-
-The reason was that I really needed the bytes_available() function to
-return the number of bytes which would be read in the next operation
-rather than the number of bytes available in the pipe. That's because
-there may be a number of lines available to be read but the number of
-bytes which will be read by ReadFile should reflect the mode of the pty
-and, if there is a line to read, only the number of bytes in the line
-should be seen as available for the next read.
-
-Having bytes_available() return the number of bytes which would be read
-seemed to fix the problem but it could subtly change the behavior of
-other callers of this function. However, I actually think this is
-probably a good thing since they probably should have been seeing the
-line behavior.
-
-2012-05-02 cgf-000001
-
-<1.7.15>
-Fix problem setting parent pid to 1 when process with children execs
-itself. Fixes: http://cygwin.com/ml/cygwin/2012-05/msg00009.html
-</1.7.15>
-
-Investigating this problem with strace showed that ssh-agent was
-checking the parent pid and getting a 1 when it shouldn't have. Other
-stuff looked ok so I chose to consider this a smoking gun.
-
-Going back to the version that the OP said did not have the problem, I
-worked forward until I found where the problem first occurred -
-somewhere around 2012-03-19. And, indeed, the getppid call returned the
-correct value in the working version. That means that this stopped
-working when I redid the way the process pipe was inherited around
-this time period.
-
-It isn't clear why (and I suspect I may have to debug this further at
-some point) this hasn't always been a problem but I made the obvious fix.
-We shouldn't have been setting ppid = 1 when we're about to pass off to
-an execed process.
-
-As I was writing this, I realized that it was necessary to add some
-additional checks. Just checking for "have_execed" isn't enough. If
-we've execed a non-cygwin process then it won't know how to deal with
-any inherited children. So, always set ppid = 1 if we've execed a
-non-cygwin process.
diff --git a/winsup/cygwin/Makefile.in b/winsup/cygwin/Makefile.in
index 6e4282843..4830e40d5 100644
--- a/winsup/cygwin/Makefile.in
+++ b/winsup/cygwin/Makefile.in
@@ -133,31 +133,31 @@ MALLOC_OFILES:=@MALLOC_OFILES@
DLL_IMPORTS:=$(w32api_lib)/libkernel32.a $(w32api_lib)/libntdll.a
MT_SAFE_OBJECTS:=
+# Please maintain this list in sorted order, with maximum files per 86 col line
#
DLL_OFILES:=advapi32.o assert.o autoload.o bsdlib.o ctype.o cxx.o cygheap.o \
- cygthread.o cygtls.o cygwait.o cygxdr.o dcrt0.o debug.o devices.o \
- dir.o dlfcn.o dll_init.o dtable.o environ.o errno.o exceptions.o \
- exec.o external.o fcntl.o fenv.o fhandler.o fhandler_clipboard.o \
- fhandler_console.o fhandler_dev.o fhandler_disk_file.o fhandler_dsp.o \
- fhandler_fifo.o fhandler_floppy.o fhandler_mailslot.o fhandler_mem.o \
- fhandler_netdrive.o fhandler_nodevice.o fhandler_proc.o \
- fhandler_process.o fhandler_procnet.o fhandler_procsys.o \
- fhandler_procsysvipc.o fhandler_random.o fhandler_raw.o \
- fhandler_registry.o fhandler_serial.o fhandler_socket.o fhandler_tape.o \
- fhandler_termios.o fhandler_tty.o fhandler_virtual.o fhandler_windows.o \
- fhandler_zero.o flock.o fnmatch.o fork.o fts.o ftw.o getopt.o glob.o \
- glob_pattern_p.o globals.o grp.o heap.o hookapi.o inet_addr.o \
- inet_network.o init.o ioctl.o ipc.o kernel32.o libstdcxx_wrapper.o \
- localtime.o lsearch.o malloc_wrapper.o minires-os-if.o minires.o \
- miscfuncs.o mktemp.o mmap.o msg.o mount.o net.o netdb.o nfs.o nftw.o \
- nlsfuncs.o ntea.o passwd.o path.o pinfo.o pipe.o poll.o posix_ipc.o \
- pseudo-reloc.o pthread.o random.o regcomp.o regerror.o regexec.o regfree.o \
- registry.o resource.o rexec.o rcmd.o scandir.o sched.o sec_acl.o \
- sec_auth.o sec_helper.o security.o select.o sem.o setlsapwd.o shared.o \
- shm.o sigfe.o signal.o sigproc.o smallprint.o spawn.o strace.o strfmon.o \
- strfuncs.o strptime.o strsep.o strsig.o sync.o syscalls.o sysconf.o \
- syslog.o termios.o thread.o timer.o times.o tls_pbuf.o tty.o uinfo.o \
- uname.o wait.o wincap.o window.o winf.o wow64.o xsique.o \
+ cygthread.o cygtls.o cygxdr.o dcrt0.o debug.o devices.o dir.o dlfcn.o \
+ dll_init.o dtable.o environ.o errno.o exceptions.o exec.o external.o \
+ fcntl.o fenv.o fhandler.o fhandler_clipboard.o fhandler_console.o \
+ fhandler_disk_file.o fhandler_dsp.o fhandler_fifo.o fhandler_floppy.o \
+ fhandler_mailslot.o fhandler_mem.o fhandler_netdrive.o fhandler_nodevice.o \
+ fhandler_proc.o fhandler_process.o fhandler_procnet.o fhandler_procsys.o \
+ fhandler_procsysvipc.o fhandler_random.o fhandler_raw.o fhandler_registry.o \
+ fhandler_serial.o fhandler_socket.o fhandler_tape.o fhandler_termios.o \
+ fhandler_tty.o fhandler_virtual.o fhandler_windows.o fhandler_zero.o \
+ flock.o fnmatch.o fork.o fts.o ftw.o getopt.o glob.o glob_pattern_p.o \
+ globals.o grp.o heap.o hookapi.o inet_addr.o inet_network.o init.o ioctl.o \
+ ipc.o kernel32.o libstdcxx_wrapper.o localtime.o lsearch.o malloc_wrapper.o \
+ minires-os-if.o minires.o miscfuncs.o mktemp.o mmap.o msg.o \
+ mount.o net.o netdb.o nfs.o nftw.o nlsfuncs.o ntea.o passwd.o path.o \
+ pinfo.o pipe.o poll.o posix_ipc.o pseudo-reloc.o pthread.o random.o \
+ regcomp.o regerror.o regexec.o regfree.o registry.o resource.o rexec.o \
+ rcmd.o scandir.o sched.o sec_acl.o sec_auth.o sec_helper.o security.o \
+ select.o sem.o setlsapwd.o shared.o shm.o sigfe.o signal.o sigproc.o \
+ smallprint.o spawn.o strace.o strfmon.o strfuncs.o strptime.o strsep.o \
+ strsig.o sync.o syscalls.o sysconf.o syslog.o termios.o thread.o \
+ timer.o times.o tls_pbuf.o tty.o uinfo.o uname.o wait.o wincap.o \
+ window.o winf.o wow64.o xsique.o \
$(EXTRA_DLL_OFILES) $(EXTRA_OFILES) $(MALLOC_OFILES) $(MT_SAFE_OBJECTS)
EXCLUDE_STATIC_OFILES:=$(addprefix --exclude=,\
@@ -237,7 +237,6 @@ ifneq "${filter -O%,$(CFLAGS)}" ""
cygheap_CFLAGS:=-fomit-frame-pointer
cygthread_CFLAGS:=-fomit-frame-pointer
cygtls_CFLAGS:=-fomit-frame-pointer
-cygwait_CFLAGS=-fomit-frame-pointer
delqueue_CFLAGS:=-fomit-frame-pointer
devices_CFLAGS:=-fomit-frame-pointer -Os
dir_CFLAGS:=-fomit-frame-pointer
@@ -271,12 +270,11 @@ fhandler_zero_CFLAGS:=-fomit-frame-pointer
flock_CFLAGS:=-fomit-frame-pointer
grp_CFLAGS:=-fomit-frame-pointer
libstdcxx_wrapper_CFLAGS:=-fomit-frame-pointer
-malloc_CFLAGS:=-fomit-frame-pointer -O3
+malloc_CFLAGS:=-fomit-frame-pointer
malloc_wrapper_CFLAGS:=-fomit-frame-pointer
miscfuncs_CFLAGS:=-fomit-frame-pointer
net_CFLAGS:=-fomit-frame-pointer
passwd_CFLAGS:=-fomit-frame-pointer
-path_CFLAGS=-fomit-frame-pointer
regcomp_CFLAGS=-fomit-frame-pointer
regerror_CFLAGS=-fomit-frame-pointer
regexec_CFLAGS=-fomit-frame-pointer
@@ -396,7 +394,7 @@ maintainer-clean realclean: clean
# Rule to build cygwin.dll
$(TEST_DLL_NAME): $(LDSCRIPT) dllfixdbg $(DLL_OFILES) $(DLL_IMPORTS) $(LIBSERVER) $(LIBC) $(LIBM) $(API_VER) Makefile winver_stamp
- $(CXX) $(CXXFLAGS) -Wl,--gc-sections $(nostdlib) -Wl,-T$(firstword $^) -static \
+ $(CXX) $(CXXFLAGS) -Wl,--gc-sections $(nostdlib) -Wl,-T$(firstword $^) \
-Wl,--heap=0 -Wl,--out-implib,cygdll.a -shared -o $@ \
-e $(DLL_ENTRY) $(DEF_FILE) $(DLL_OFILES) version.o winver.o \
$(MALLOC_OBJ) $(LIBSERVER) $(LIBM) $(LIBC) \
diff --git a/winsup/cygwin/advapi32.cc b/winsup/cygwin/advapi32.cc
index efc7c3873..47913a031 100644
--- a/winsup/cygwin/advapi32.cc
+++ b/winsup/cygwin/advapi32.cc
@@ -1,6 +1,6 @@
/* advapi32.cc: Win32 replacement functions.
- Copyright 2011, 2012 Red Hat, Inc.
+ Copyright 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -12,6 +12,7 @@ details. */
#include <winioctl.h>
#include "shared_info.h"
#include "ntdll.h"
+#include <wchar.h>
#define DEFAULT_NTSTATUS_TO_BOOL_RETURN \
if (!NT_SUCCESS (status)) \
@@ -88,7 +89,7 @@ ImpersonateLoggedOnUser (HANDLE tok)
DEFAULT_NTSTATUS_TO_BOOL_RETURN
}
-BOOL WINAPI
+BOOL
ImpersonateNamedPipeClient (HANDLE pipe)
{
IO_STATUS_BLOCK io;
diff --git a/winsup/cygwin/child_info.h b/winsup/cygwin/child_info.h
index eac40c247..1dfa51bf5 100644
--- a/winsup/cygwin/child_info.h
+++ b/winsup/cygwin/child_info.h
@@ -1,6 +1,6 @@
/* child_info.h: shared child info for cygwin
- Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2008, 2009, 2011, 2012
+ Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2008, 2009, 2011
Red Hat, Inc.
This file is part of Cygwin.
@@ -35,7 +35,7 @@ enum child_status
#define EXEC_MAGIC_SIZE sizeof(child_info)
/* Change this value if you get a message indicating that it is out-of-sync. */
-#define CURR_CHILD_INFO_MAGIC 0xf1378eabU
+#define CURR_CHILD_INFO_MAGIC 0x76041b78U
#define NPROCS 256
@@ -61,12 +61,9 @@ public:
void *cygheap_max;
unsigned char flag;
int retry; // number of times we've tried to start child process
- HANDLE rd_proc_pipe;
- HANDLE wr_proc_pipe;
HANDLE subproc_ready; // used for synchronization with parent
HANDLE user_h;
HANDLE parent;
- DWORD parent_winpid;
DWORD cygheap_reserve_sz;
unsigned fhandler_union_cb;
DWORD exit_code; // process exit code
@@ -81,18 +78,10 @@ public:
bool isstraced () const {return !!(flag & _CI_STRACED);}
bool iscygwin () const {return !!(flag & _CI_ISCYGWIN);}
bool saw_ctrl_c () const {return !!(flag & _CI_SAW_CTRL_C);}
- void prefork (bool = false);
- void cleanup ();
- void postfork (pinfo& child)
- {
- ForceCloseHandle (wr_proc_pipe);
- wr_proc_pipe = NULL;
- child.set_rd_proc_pipe (rd_proc_pipe);
- rd_proc_pipe = NULL;
- }
};
class mount_info;
+class _pinfo;
class child_info_fork: public child_info
{
@@ -165,7 +154,7 @@ public:
return true;
}
}
- void wait_for_myself ();
+ void wait_for_myself () { WaitForSingleObject (ev, INFINITE); }
bool has_execed () const
{
if (hExeced)
@@ -176,7 +165,6 @@ public:
lock->release ();
return !!hExeced;
}
- bool get_parent_handle ();
bool has_execed_cygwin () const { return iscygwin () && has_execed (); }
operator HANDLE& () {return hExeced;}
int worker (const char *, const char *const *, const char *const [], int,
diff --git a/winsup/cygwin/cygheap.cc b/winsup/cygwin/cygheap.cc
index 639f4e662..bc96a5533 100644
--- a/winsup/cygwin/cygheap.cc
+++ b/winsup/cygwin/cygheap.cc
@@ -47,23 +47,6 @@ struct cygheap_entry
char data[0];
};
-class tls_sentry
-{
-public:
- static muto lock;
- int destroy;
- void init ();
- bool acquired () {return lock.acquired ();}
- tls_sentry () {destroy = 0;}
- tls_sentry (DWORD wait) {destroy = lock.acquire (wait);}
- ~tls_sentry () {if (destroy) lock.release ();}
-};
-
-muto NO_COPY tls_sentry::lock;
-static NO_COPY size_t nthreads;
-
-#define THREADLIST_CHUNK 256
-
#define NBUCKETS (sizeof (cygheap->buckets) / sizeof (cygheap->buckets[0]))
#define N0 ((_cmalloc_entry *) NULL)
#define to_cmalloc(s) ((_cmalloc_entry *) (((char *) (s)) - (unsigned) (N0->data)))
@@ -187,28 +170,18 @@ init_cygheap::init_installation_root ()
"GetModuleFileNameW(%p, %p, %u), %E",
cygwin_hmodule, installation_root, PATH_MAX);
PWCHAR p = installation_root;
- if (wcsncasecmp (p, L"\\\\", 2)) /* Normal drive letter path */
+ if (wcsncmp (p, L"\\\\?\\", 4)) /* No long path prefix. */
{
- p = wcpcpy (p, L"\\??\\");
- GetModuleFileNameW (cygwin_hmodule, p, PATH_MAX - 4);
- }
- else
- {
- bool unc = false;
- if (wcsncmp (p + 2, L"?\\", 2)) /* No long path prefix, so UNC path. */
+ if (!wcsncasecmp (p, L"\\\\", 2)) /* UNC */
{
p = wcpcpy (p, L"\\??\\UN");
GetModuleFileNameW (cygwin_hmodule, p, PATH_MAX - 6);
*p = L'C';
- unc = true;
}
- else if (!wcsncmp (p + 4, L"UNC\\", 4)) /* Native NT UNC path. */
- unc = true;
- if (unc)
+ else
{
- p = wcschr (p + 2, L'\\'); /* Skip server name */
- if (p)
- p = wcschr (p + 1, L'\\'); /* Skip share name */
+ p = wcpcpy (p, L"\\??\\");
+ GetModuleFileNameW (cygwin_hmodule, p, PATH_MAX - 4);
}
}
installation_root[1] = L'?';
@@ -227,13 +200,7 @@ init_cygheap::init_installation_root ()
if (!w)
api_fatal ("Can't initialize Cygwin installation root dir.\n"
"Invalid DLL path");
- /* If w < p, the Cygwin DLL resides in the root dir of a drive or network
- path. In that case, if we strip off yet another backslash, the path
- becomes invalid. We avoid that here so that the DLL also works in this
- scenario. The /usr/bin and /usr/lib default mounts will probably point
- to something non-existing, but that's life. */
- if (w > p)
- *w = L'\0';
+ *w = L'\0';
for (int i = 1; i >= 0; --i)
{
@@ -273,7 +240,6 @@ cygheap_init ()
cygheap->fdtab.init ();
if (!cygheap->sigs)
sigalloc ();
- cygheap->init_tls_list ();
}
/* Copyright (C) 1997, 2000 DJ Delorie */
@@ -563,84 +529,3 @@ cygheap_user::set_name (const char *new_name)
cfree_and_set (pdomain);
cfree_and_set (pwinname);
}
-
-void
-init_cygheap::init_tls_list ()
-{
- if (threadlist)
- memset (cygheap->threadlist, 0, cygheap->sthreads * sizeof (cygheap->threadlist[0]));
- else
- {
- sthreads = THREADLIST_CHUNK;
- threadlist = (_cygtls **) ccalloc_abort (HEAP_TLS, cygheap->sthreads,
- sizeof (cygheap->threadlist[0]));
- }
- tls_sentry::lock.init ("thread_tls_sentry");
-}
-
-void
-init_cygheap::add_tls (_cygtls *t)
-{
- cygheap->user.reimpersonate ();
- tls_sentry here (INFINITE);
- if (nthreads >= cygheap->sthreads)
- {
- threadlist = (_cygtls **)
- crealloc_abort (threadlist, (sthreads += THREADLIST_CHUNK)
- * sizeof (threadlist[0]));
- // memset (threadlist + nthreads, 0, THREADLIST_CHUNK * sizeof (threadlist[0]));
- }
-
- threadlist[nthreads++] = t;
-}
-
-void
-init_cygheap::remove_tls (_cygtls *t, DWORD wait)
-{
- tls_sentry here (wait);
- if (here.acquired ())
- {
- for (size_t i = 0; i < nthreads; i++)
- if (t == threadlist[i])
- {
- if (i < --nthreads)
- threadlist[i] = threadlist[nthreads];
- debug_only_printf ("removed %p element %d", this, i);
- break;
- }
- }
-}
-
-_cygtls *
-init_cygheap::find_tls (int sig)
-{
- debug_printf ("sig %d\n", sig);
- tls_sentry here (INFINITE);
-
- static int NO_COPY threadlist_ix;
-
- _cygtls *t = _main_tls;
-
- myfault efault;
- if (efault.faulted ())
- threadlist[threadlist_ix]->remove (INFINITE);
- else
- {
- threadlist_ix = -1;
- while (++threadlist_ix < (int) nthreads)
- if (sigismember (&(threadlist[threadlist_ix]->sigwait_mask), sig))
- {
- t = cygheap->threadlist[threadlist_ix];
- goto out;
- }
- threadlist_ix = -1;
- while (++threadlist_ix < (int) nthreads)
- if (!sigismember (&(threadlist[threadlist_ix]->sigmask), sig))
- {
- t = cygheap->threadlist[threadlist_ix];
- break;
- }
- }
-out:
- return t;
-}
diff --git a/winsup/cygwin/cygheap.h b/winsup/cygwin/cygheap.h
index e03774ffd..054297bd7 100644
--- a/winsup/cygwin/cygheap.h
+++ b/winsup/cygwin/cygheap.h
@@ -204,87 +204,7 @@ public:
/* cwd cache stuff. */
-enum fcwd_version_t {
- FCWD_OLD,
- FCWD_W7,
- FCWD_W8
-};
-
-/* This class is used to store the CWD starting with Windows Vista.
- The CWD storage in the RTL_USER_PROCESS_PARAMETERS block is only
- an afterthought now. The actual CWD storage is a FAST_CWD structure
- which is allocated on the process heap. The new method only requires
- minimal locking and it's much more multi-thread friendly. Presumably
- it minimizes contention when accessing the CWD.
- The class fcwd_access_t is supposed to encapsulate the gory implementation
- details depending on OS version from the calling functions. */
-class fcwd_access_t {
- /* This is the layout used in Windows 8 developer preview. */
- struct FAST_CWD_8 {
- LONG ReferenceCount; /* Only release when this is 0. */
- HANDLE DirectoryHandle;
- ULONG OldDismountCount; /* Reflects the system DismountCount
- at the time the CWD has been set. */
- UNICODE_STRING Path; /* Path's Buffer member always refers
- to the following Buffer array. */
- LONG FSCharacteristics; /* Taken from FileFsDeviceInformation */
- WCHAR Buffer[MAX_PATH];
- };
- /* This is the layout used in Windows 7 and Vista. */
- struct FAST_CWD_7 {
- UNICODE_STRING Path; /* Path's Buffer member always refers
- to the following Buffer array. */
- HANDLE DirectoryHandle;
- LONG FSCharacteristics; /* Taken from FileFsDeviceInformation */
- LONG ReferenceCount; /* Only release when this is 0. */
- ULONG OldDismountCount; /* Reflects the system DismountCount
- at the time the CWD has been set. */
- WCHAR Buffer[MAX_PATH];
- };
- /* This is the old FAST_CWD structure up to the patch from KB 2393802,
- release in February 2011. */
- struct FAST_CWD_OLD {
- LONG ReferenceCount; /* Only release when this is 0. */
- HANDLE DirectoryHandle;
- ULONG OldDismountCount; /* Reflects the system DismountCount
- at the time the CWD has been set. */
- UNICODE_STRING Path; /* Path's Buffer member always refers
- to the following Buffer array. */
- WCHAR Buffer[MAX_PATH];
- };
- union {
- FAST_CWD_OLD fold;
- FAST_CWD_7 f7;
- FAST_CWD_8 f8;
- };
-
-#define IMPLEMENT(type, name) \
- type name () { \
- switch (fast_cwd_version ()) { \
- case FCWD_OLD: \
- default: \
- return fold.name; \
- case FCWD_W7: \
- return f7.name; \
- case FCWD_W8: \
- return f8.name; \
- } \
- }
- IMPLEMENT (LONG &, ReferenceCount)
- IMPLEMENT (HANDLE &, DirectoryHandle)
- IMPLEMENT (ULONG &, OldDismountCount)
- IMPLEMENT (UNICODE_STRING &, Path)
- IMPLEMENT (WCHAR *, Buffer)
- void SetFSCharacteristics (LONG val);
- static fcwd_version_t &fast_cwd_version (void);
-
-public:
- void CopyPath (UNICODE_STRING &target);
- void Free (PVOID heap);
- void FillIn (HANDLE dir, PUNICODE_STRING name, ULONG old_dismount_count);
- static void SetDirHandleFromBufferPointer (PWCHAR buf_p, HANDLE dir);
- static void SetVersionFromPointer (PBYTE buf_p, bool is_buffer);
-};
+class muto;
class cwdstuff
{
@@ -297,16 +217,6 @@ private:
a native Win32 application. See cwdstuff::set for
how it gets set. See child_info_spawn::worker for how
it's evaluated. */
-
- friend class fcwd_access_t;
- /* fast_cwd_ptr is a pointer to the global RtlpCurDirRef pointer in
- ntdll.dll pointing to the FAST_CWD structure which constitutes the CWD.
- Unfortunately RtlpCurDirRef is not exported from ntdll.dll. */
- fcwd_access_t **fast_cwd_ptr;
- /* Type of FAST_CWD used on this system. Keeping this information
- available in shared memory avoids to test for the version every time
- around. Default to new version. */
- fcwd_version_t fast_cwd_version;
void override_win32_cwd (bool, ULONG);
public:
@@ -390,16 +300,13 @@ struct init_cygheap: public mini_cygheap
struct _cygtls **threadlist;
size_t sthreads;
pid_t pid; /* my pid */
+ HANDLE pid_handle; /* handle for my pid */
struct { /* Equivalent to using LIST_HEAD. */
struct inode_t *lh_first;
} inode_list; /* Global inode pointer for adv. locking. */
hook_chain hooks;
void close_ctty ();
void init_installation_root ();
- void init_tls_list () __attribute__ ((regparm (1)));;
- void add_tls (_cygtls *) __attribute__ ((regparm (2)));
- void remove_tls (_cygtls *, DWORD) __attribute__ ((regparm (3)));
- _cygtls *find_tls (int) __attribute__ ((regparm (2)));
};
@@ -462,7 +369,7 @@ class cygheap_fdnew : public cygheap_fdmanip
~cygheap_fdnew ()
{
if (cygheap->fdtab[fd])
- cygheap->fdtab[fd]->inc_refcnt ();
+ cygheap->fdtab[fd]->refcnt (1);
}
void operator = (fhandler_base *fh) {cygheap->fdtab[fd] = fh;}
};
@@ -480,7 +387,7 @@ public:
this->fd = fd;
locked = lockit;
fh = cygheap->fdtab[fd];
- fh->inc_refcnt ();
+ fh->refcnt (1);
}
else
{
@@ -495,7 +402,7 @@ public:
}
~cygheap_fdget ()
{
- if (fh && fh->dec_refcnt () <= 0)
+ if (fh && fh->refcnt (-1) <= 0)
{
debug_only_printf ("deleting fh %p", fh);
delete fh;
diff --git a/winsup/cygwin/cygprops.h b/winsup/cygwin/cygprops.h
index 70ea3cc5a..fa367bc5b 100644
--- a/winsup/cygwin/cygprops.h
+++ b/winsup/cygwin/cygprops.h
@@ -1,6 +1,6 @@
/* cygprops.h: Cygwin DLL properties
- Copyright 2009, 2012 Red Hat, Inc.
+ Copyright 2009 Red Hat, Inc.
This file is part of Cygwin.
@@ -8,7 +8,6 @@ This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
-#pragma once
/* DLL properties data. */
struct cygwin_props_t
{
diff --git a/winsup/cygwin/cygserver_ipc.h b/winsup/cygwin/cygserver_ipc.h
index 4dbc8212f..d25a3bdeb 100644
--- a/winsup/cygwin/cygserver_ipc.h
+++ b/winsup/cygwin/cygserver_ipc.h
@@ -1,6 +1,6 @@
/* cygserver_ipc.h
- Copyright 2002, 2003, 2004, 2012 Red Hat, Inc.
+ Copyright 2002, 2003, 2004 Red Hat, Inc.
This file is part of Cygwin.
@@ -32,7 +32,6 @@ struct proc {
};
#ifdef __INSIDE_CYGWIN__
-#include "sigproc.h"
inline void
ipc_set_proc_info (proc &blk)
{
@@ -43,7 +42,7 @@ ipc_set_proc_info (proc &blk)
blk.gidcnt = 0;
blk.gidlist = NULL;
blk.is_admin = false;
- _my_tls.set_signal_arrived (true, blk.signal_arrived);
+ blk.signal_arrived = signal_arrived;
}
#endif /* __INSIDE_CYGWIN__ */
diff --git a/winsup/cygwin/cygthread.cc b/winsup/cygwin/cygthread.cc
index 5afc42954..4cbd3b064 100644
--- a/winsup/cygwin/cygthread.cc
+++ b/winsup/cygwin/cygthread.cc
@@ -377,7 +377,7 @@ cygthread::detach (HANDLE sigwait)
unsigned n = 2;
DWORD howlong = INFINITE;
w4[0] = sigwait;
- set_signal_arrived here (w4[1]);
+ w4[1] = signal_arrived;
/* For a description of the below loop see the end of this file */
for (int i = 0; i < 2; i++)
switch (res = WaitForMultipleObjects (n, w4, FALSE, howlong))
diff --git a/winsup/cygwin/cygtls.cc b/winsup/cygwin/cygtls.cc
index abda77c5f..f45cfaa52 100644
--- a/winsup/cygwin/cygtls.cc
+++ b/winsup/cygwin/cygtls.cc
@@ -1,7 +1,6 @@
/* cygtls.cc
- Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
- 2012 Red Hat, Inc.
+ Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
@@ -19,6 +18,39 @@ details. */
#include "sigproc.h"
#include "exception.h"
+class sentry
+{
+ static muto lock;
+ int destroy;
+public:
+ void init ();
+ bool acquired () {return lock.acquired ();}
+ sentry () {destroy = 0;}
+ sentry (DWORD wait) {destroy = lock.acquire (wait);}
+ ~sentry () {if (destroy) lock.release ();}
+ friend void _cygtls::init ();
+};
+
+muto NO_COPY sentry::lock;
+
+static size_t NO_COPY nthreads;
+
+#define THREADLIST_CHUNK 256
+
+void
+_cygtls::init ()
+{
+ if (cygheap->threadlist)
+ memset (cygheap->threadlist, 0, cygheap->sthreads * sizeof (cygheap->threadlist[0]));
+ else
+ {
+ cygheap->sthreads = THREADLIST_CHUNK;
+ cygheap->threadlist = (_cygtls **) ccalloc_abort (HEAP_TLS, cygheap->sthreads,
+ sizeof (cygheap->threadlist[0]));
+ }
+ sentry::lock.init ("sentry_lock");
+}
+
/* Two calls to get the stack right... */
void
_cygtls::call (DWORD (*func) (void *, void *), void *arg)
@@ -30,72 +62,10 @@ _cygtls::call (DWORD (*func) (void *, void *), void *arg)
_my_tls.call2 (func, arg, buf);
}
-static int
-dll_cmp (const void *a, const void *b)
-{
- return wcscasecmp ((const wchar_t *) a, *(const wchar_t **) b);
-}
-
-/* Keep sorted!
- This is a list of well-known core system DLLs which contain code
- whiuch is started in its own thread by the system. Kernel32.dll,
- for instance, contains the thread called on every Ctrl-C keypress
- in a console window. The DLLs in this list are not recognized as
- BLODAs. */
-const wchar_t *well_known_dlls[] =
-{
- L"advapi32.dll",
- L"kernel32.dll",
- L"mswsock.dll",
- L"ntdll.dll",
- L"ole32.dll",
- L"shlwapi.dll",
- L"wbemprox.dll",
- L"ws2_32.dll",
-};
-
void
_cygtls::call2 (DWORD (*func) (void *, void *), void *arg, void *buf)
{
init_thread (buf, func);
-
- /* Optional BLODA detection. The idea is that the function address is
- supposed to be within Cygwin itself. This is also true for pthreads,
- since pthreads are always calling thread_wrapper in miscfuncs.cc.
- Therefore, every function call to a function outside of the Cygwin DLL
- is potentially a thread injected into the Cygwin process by some BLODA.
-
- But that's a bit too simple. Assuming the application itself calls
- CreateThread, then this is a bad idea, but not really invalid. So we
- shouldn't print a BLODA message if the address is within the loaded
- image of the application. Also, ntdll.dll starts threads into the
- application which */
- if (detect_bloda)
- {
- PIMAGE_DOS_HEADER img_start = (PIMAGE_DOS_HEADER) GetModuleHandle (NULL);
- PIMAGE_NT_HEADERS32 ntheader = (PIMAGE_NT_HEADERS32)
- ((PBYTE) img_start + img_start->e_lfanew);
- void *img_end = (void *) ((PBYTE) img_start
- + ntheader->OptionalHeader.SizeOfImage);
- if (((void *) func < (void *) cygwin_hmodule
- || (void *) func > (void *) cygheap)
- && ((void *) func < (void *) img_start || (void *) func >= img_end))
- {
- MEMORY_BASIC_INFORMATION mbi;
- wchar_t modname[PATH_MAX];
-
- VirtualQuery ((PVOID) func, &mbi, sizeof mbi);
- GetModuleFileNameW ((HMODULE) mbi.AllocationBase, modname, PATH_MAX);
- /* Fetch basename and check against list of above system DLLs. */
- const wchar_t *modbasename = wcsrchr (modname, L'\\') + 1;
- if (!bsearch (modbasename, well_known_dlls,
- sizeof well_known_dlls / sizeof well_known_dlls[0],
- sizeof well_known_dlls[0], dll_cmp))
- small_printf ("\n\nPotential BLODA detected! Thread function "
- "called outside of Cygwin DLL:\n %W\n\n", modname);
- }
- }
-
DWORD res = func (arg, buf);
remove (INFINITE);
/* Don't call ExitThread on the main thread since we may have been
@@ -134,7 +104,18 @@ _cygtls::init_thread (void *x, DWORD (*func) (void *, void *))
|| (void *) func == (void *) cygthread::simplestub)
return;
- cygheap->add_tls (this);
+ cygheap->user.reimpersonate ();
+
+ sentry here (INFINITE);
+ if (nthreads >= cygheap->sthreads)
+ {
+ cygheap->threadlist = (_cygtls **)
+ crealloc_abort (cygheap->threadlist, (cygheap->sthreads += THREADLIST_CHUNK)
+ * sizeof (cygheap->threadlist[0]));
+ memset (cygheap->threadlist + nthreads, 0, THREADLIST_CHUNK * sizeof (cygheap->threadlist[0]));
+ }
+
+ cygheap->threadlist[nthreads++] = this;
}
void
@@ -146,7 +127,6 @@ _cygtls::fixup_after_fork ()
sig = 0;
}
stacklock = spinning = 0;
- signal_arrived = NULL;
locals.select.sockevt = NULL;
locals.cw_timer = NULL;
wq.thread_ev = NULL;
@@ -171,13 +151,6 @@ _cygtls::remove (DWORD wait)
/* FIXME: Need some sort of atthreadexit function to allow things like
select to control this themselves. */
- if (signal_arrived)
- {
- HANDLE h = signal_arrived;
- signal_arrived = NULL;
- CloseHandle (h);
- }
-
/* Close handle and free memory used by select. */
if (locals.select.sockevt)
{
@@ -193,7 +166,22 @@ _cygtls::remove (DWORD wait)
free_local (hostent_buf);
/* Free temporary TLS path buffers. */
locals.pathbufs.destroy ();
- cygheap->remove_tls (this, wait);
+
+ do
+ {
+ sentry here (wait);
+ if (here.acquired ())
+ {
+ for (size_t i = 0; i < nthreads; i++)
+ if (this == cygheap->threadlist[i])
+ {
+ if (i < --nthreads)
+ cygheap->threadlist[i] = cygheap->threadlist[nthreads];
+ debug_printf ("removed %p element %d", this, i);
+ break;
+ }
+ }
+ } while (0);
remove_wq (wait);
}
@@ -203,6 +191,31 @@ _cygtls::push (__stack_t addr)
*stackptr++ = (__stack_t) addr;
}
+
+_cygtls *
+_cygtls::find_tls (int sig)
+{
+ static int NO_COPY threadlist_ix;
+
+ debug_printf ("signal %d\n", sig);
+ sentry here (INFINITE);
+
+ _cygtls *res = NULL;
+ threadlist_ix = -1;
+
+ myfault efault;
+ if (efault.faulted ())
+ cygheap->threadlist[threadlist_ix]->remove (INFINITE);
+
+ while (++threadlist_ix < (int) nthreads)
+ if (sigismember (&(cygheap->threadlist[threadlist_ix]->sigwait_mask), sig))
+ {
+ res = cygheap->threadlist[threadlist_ix];
+ break;
+ }
+ return res;
+}
+
void
_cygtls::set_siginfo (sigpacket *pack)
{
diff --git a/winsup/cygwin/cygtls.h b/winsup/cygwin/cygtls.h
index d683cf837..d8940ac26 100644
--- a/winsup/cygwin/cygtls.h
+++ b/winsup/cygwin/cygtls.h
@@ -1,12 +1,13 @@
/* cygtls.h
- Copyright 2003, 2004, 2005, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ Copyright 2003, 2004, 2005, 2008, 2009, 2010, 2011 Red Hat, Inc.
This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
-#pragma once
+#ifndef _CYGTLS_H
+#define _CYGTLS_H
#include <signal.h>
#include <pwd.h>
@@ -157,7 +158,6 @@ typedef struct struct_waitq
/*gentls_offsets*/
#include "cygerrno.h"
-#include "security.h"
extern "C" int __sjfault (jmp_buf);
extern "C" int __ljfault (jmp_buf, int);
@@ -169,29 +169,27 @@ typedef __uint32_t __stack_t;
class _cygtls
{
public:
- /* Please keep these two declarations first */
- struct _local_storage locals;
- union
- {
- struct _reent local_clib;
- char __dontuse[8 * ((sizeof(struct _reent) + 4) / 8)];
- };
- /**/
void (*func) /*gentls_offsets*/(int)/*gentls_offsets*/;
int saved_errno;
int sa_flags;
sigset_t oldmask;
sigset_t deltamask;
+ HANDLE event;
int *errno_addr;
sigset_t sigmask;
sigset_t sigwait_mask;
siginfo_t *sigwait_info;
- HANDLE signal_arrived;
- bool signal_waiting;
struct ucontext thread_context;
DWORD thread_id;
+ unsigned threadkill;
siginfo_t infodata;
struct pthread *tid;
+ union
+ {
+ struct _reent local_clib;
+ char __dontuse[8 * ((sizeof(struct _reent) + 4) / 8)];
+ };
+ struct _local_storage locals;
class cygthread *_ctinfo;
class san *andreas;
waitq wq;
@@ -204,8 +202,11 @@ public:
unsigned initialized;
/*gentls_offsets*/
+ static CRITICAL_SECTION protect_linked_list;
+ static void init ();
void init_thread (void *, DWORD (*) (void *, void *));
static void call (DWORD (*) (void *, void *), void *);
+ static struct _cygtls *find_tls (int sig);
void remove (DWORD);
void push (__stack_t) __attribute__ ((regparm (2)));
__stack_t pop () __attribute__ ((regparm (1)));
@@ -229,30 +230,14 @@ public:
operator HANDLE () const {return tid->win32_obj_id;}
#endif
void set_siginfo (struct sigpacket *) __attribute__ ((regparm (3)));
+ void set_threadkill () {threadkill = true;}
+ void reset_threadkill () {threadkill = false;}
int call_signal_handler () __attribute__ ((regparm (1)));
void remove_wq (DWORD) __attribute__ ((regparm (1)));
void fixup_after_fork () __attribute__ ((regparm (1)));
void lock () __attribute__ ((regparm (1)));
void unlock () __attribute__ ((regparm (1)));
bool locked () __attribute__ ((regparm (1)));
- void set_signal_arrived (bool setit, HANDLE& h)
- {
- if (!setit)
- signal_waiting = false;
- else
- {
- if (!signal_arrived)
- signal_arrived = CreateEvent (&sec_none_nih, false, false, NULL);
- h = signal_arrived;
- signal_waiting = true;
- }
- }
- void reset_signal_arrived ()
- {
- if (signal_arrived)
- ResetEvent (signal_arrived);
- signal_waiting = false;
- }
private:
void call2 (DWORD (*) (void *, void *), void *, void *) __attribute__ ((regparm (3)));
/*gentls_offsets*/
@@ -320,15 +305,6 @@ public:
}
};
-class set_signal_arrived
-{
-public:
- set_signal_arrived (bool setit, HANDLE& h) { _my_tls.set_signal_arrived (setit, h); }
- set_signal_arrived (HANDLE& h) { _my_tls.set_signal_arrived (true, h); }
-
- operator int () const {return _my_tls.signal_waiting;}
- ~set_signal_arrived () { _my_tls.reset_signal_arrived (); }
-};
-
#define __getreent() (&_my_tls.local_clib)
-/*gentls_offsets*/
+
+#endif /*_CYGTLS_H*/ /*gentls_offsets*/
diff --git a/winsup/cygwin/cygwait.cc b/winsup/cygwin/cygwait.cc
deleted file mode 100644
index ee7a705ef..000000000
--- a/winsup/cygwin/cygwait.cc
+++ /dev/null
@@ -1,106 +0,0 @@
-/* cygwait.h
-
- Copyright 2011, 2012 Red Hat, Inc.
-
- This file is part of Cygwin.
-
- This software is a copyrighted work licensed under the terms of the
- Cygwin license. Please consult the file "CYGWIN_LICENSE" for
- details. */
-
-#include "winsup.h"
-#include "sigproc.h"
-#include "cygwait.h"
-#include "ntdll.h"
-
-#define is_cw_cancel (mask & cw_cancel)
-#define is_cw_cancel_self (mask & cw_cancel_self)
-#define is_cw_sig (mask & cw_sig)
-#define is_cw_sig_eintr (mask & cw_sig_eintr)
-#define is_cw_sig_return (mask & cw_sig_return)
-
-#define is_cw_sig_handle (mask & (is_cw_sig | is_cw_sig_eintr))
-
-LARGE_INTEGER cw_nowait_storage;
-
-DWORD
-cancelable_wait (HANDLE object, PLARGE_INTEGER timeout, unsigned mask)
-{
- DWORD res;
- DWORD num = 0;
- HANDLE wait_objects[4];
- pthread_t thread = pthread::self ();
-
- /* Do not change the wait order.
- The object must have higher priority than the cancel event,
- because WaitForMultipleObjects will return the smallest index
- if both objects are signaled. */
- if (object)
- wait_objects[num++] = object;
-
- set_signal_arrived thread_waiting (is_cw_sig_handle, wait_objects[num]);
- debug_only_printf ("object %p, thread waiting %d, signal_arrived %p", object, (int) thread_waiting, _my_tls.signal_arrived);
- DWORD sig_n;
- if (!thread_waiting)
- sig_n = WAIT_TIMEOUT + 1;
- else
- sig_n = WAIT_OBJECT_0 + num++;
-
- DWORD cancel_n;
- if (!is_cw_cancel || !pthread::is_good_object (&thread) ||
- thread->cancelstate == PTHREAD_CANCEL_DISABLE)
- cancel_n = WAIT_TIMEOUT + 1;
- else
- {
- cancel_n = WAIT_OBJECT_0 + num++;
- wait_objects[cancel_n] = thread->cancel_event;
- }
-
- DWORD timeout_n;
- if (!timeout)
- timeout_n = WAIT_TIMEOUT + 1;
- else
- {
- timeout_n = WAIT_OBJECT_0 + num++;
- if (!_my_tls.locals.cw_timer)
- NtCreateTimer (&_my_tls.locals.cw_timer, TIMER_ALL_ACCESS, NULL,
- NotificationTimer);
- NtSetTimer (_my_tls.locals.cw_timer, timeout, NULL, NULL, FALSE, 0, NULL);
- wait_objects[timeout_n] = _my_tls.locals.cw_timer;
- }
-
- while (1)
- {
- res = WaitForMultipleObjects (num, wait_objects, FALSE, INFINITE);
- debug_only_printf ("res %d", res);
- if (res == cancel_n)
- res = WAIT_CANCELED;
- else if (res == timeout_n)
- res = WAIT_TIMEOUT;
- else if (res != sig_n)
- /* all set */;
- else if (is_cw_sig_eintr)
- res = WAIT_SIGNALED; /* caller will deal with signals */
- else if (_my_tls.call_signal_handler ())
- continue;
- break;
- }
-
- if (timeout)
- {
- TIMER_BASIC_INFORMATION tbi;
-
- NtQueryTimer (_my_tls.locals.cw_timer, TimerBasicInformation, &tbi,
- sizeof tbi, NULL);
- /* if timer expired, TimeRemaining is negative and represents the
- system uptime when signalled */
- if (timeout->QuadPart < 0LL)
- timeout->QuadPart = tbi.SignalState ? 0LL : tbi.TimeRemaining.QuadPart;
- NtCancelTimer (_my_tls.locals.cw_timer, NULL);
- }
-
- if (res == WAIT_CANCELED && is_cw_cancel_self)
- pthread::static_cancel_self ();
-
- return res;
-}
diff --git a/winsup/cygwin/cygwait.h b/winsup/cygwin/cygwait.h
deleted file mode 100644
index d52a145ae..000000000
--- a/winsup/cygwin/cygwait.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* cygwait.h
-
- Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
- Red Hat, Inc.
-
- This file is part of Cygwin.
-
- This software is a copyrighted work licensed under the terms of the
- Cygwin license. Please consult the file "CYGWIN_LICENSE" for
- details. */
-
-#pragma once
-
-#define WAIT_CANCELED (WAIT_OBJECT_0 + 2)
-#define WAIT_SIGNALED (WAIT_OBJECT_0 + 1)
-
-enum cw_wait_mask
-{
- cw_cancel = 0x0001,
- cw_cancel_self = 0x0002,
- cw_sig = 0x0004,
- cw_sig_eintr = 0x0008
-};
-
-extern LARGE_INTEGER cw_nowait_storage;
-#define cw_nowait (&cw_nowait_storage)
-#define cw_infinite ((PLARGE_INTEGER) NULL)
-
-const unsigned cw_std_mask = cw_cancel | cw_cancel_self | cw_sig;
-
-DWORD cancelable_wait (HANDLE, PLARGE_INTEGER timeout = NULL,
- unsigned = cw_std_mask)
- __attribute__ ((regparm (3)));
-
-extern inline DWORD __attribute__ ((always_inline))
-cancelable_wait (HANDLE h, DWORD howlong, unsigned mask)
-{
- LARGE_INTEGER li_howlong;
- PLARGE_INTEGER pli_howlong;
- if (howlong == INFINITE)
- pli_howlong = NULL;
- else
- {
- li_howlong.QuadPart = -(10000ULL * howlong);
- pli_howlong = &li_howlong;
- }
- return cancelable_wait (h, pli_howlong, mask);
-}
-
-static inline DWORD __attribute__ ((always_inline))
-cygwait (HANDLE h, DWORD howlong = INFINITE)
-{
- return cancelable_wait (h, howlong, cw_cancel | cw_sig);
-}
-
-static inline DWORD __attribute__ ((always_inline))
-cygwait (DWORD howlong)
-{
- return cygwait (NULL, howlong);
-}
diff --git a/winsup/cygwin/cygwin.din b/winsup/cygwin/cygwin.din
index acd043b30..22b4ea94a 100644
--- a/winsup/cygwin/cygwin.din
+++ b/winsup/cygwin/cygwin.din
@@ -738,7 +738,6 @@ _getlogin = getlogin NOSIGFE
getlogin_r NOSIGFE
getmntent SIGFE
_getmntent = getmntent SIGFE
-getmntent_r SIGFE
getmode SIGFE
_getmode = getmode SIGFE
getnameinfo = cygwin_getnameinfo SIGFE
@@ -1063,7 +1062,6 @@ memmove NOSIGFE
_memmove = memmove NOSIGFE
mempcpy NOSIGFE
__mempcpy = mempcpy NOSIGFE
-memrchr NOSIGFE
memset NOSIGFE
_memset = memset NOSIGFE
mkdir SIGFE
diff --git a/winsup/cygwin/cygwin.sc b/winsup/cygwin/cygwin.sc
index d5f79ab6c..966ea9733 100644
--- a/winsup/cygwin/cygwin.sc
+++ b/winsup/cygwin/cygwin.sc
@@ -134,5 +134,4 @@ SECTIONS
.debug_loc ALIGN(__section_alignment__) (NOLOAD) : { *(.debug_loc) }
.debug_macinfo ALIGN(__section_alignment__) (NOLOAD) : { *(.debug_macinfo) }
.debug_ranges ALIGN(__section_alignment__) (NOLOAD) : { *(.debug_ranges) }
- .debug_pubtypes ALIGN(__section_alignment__) (NOLOAD) : { *(.debug_pubtypes) }
}
diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc
index 0cda2e5d5..5cee5f16d 100644
--- a/winsup/cygwin/dcrt0.cc
+++ b/winsup/cygwin/dcrt0.cc
@@ -1,7 +1,7 @@
/* dcrt0.cc -- essentially the main() for the Cygwin dll
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -353,8 +353,7 @@ build_argv (char *cmd, char **&argv, int &argc, int winshell)
}
}
- if (argv)
- argv[argc] = NULL;
+ argv[argc] = NULL;
debug_printf ("argc %d", argc);
}
@@ -599,17 +598,6 @@ child_info_fork::handle_fork ()
"user heap", cygheap->user_heap.base, cygheap->user_heap.ptr,
NULL);
- /* If my_wr_proc_pipe != NULL then it's a leftover handle from a previously
- forked process. Close it now or suffer confusion with the parent of our
- parent. */
- if (my_wr_proc_pipe)
- ForceCloseHandle1 (my_wr_proc_pipe, wr_proc_pipe);
-
- /* Setup our write end of the process pipe. Clear the one in the structure.
- The destructor should never be called for this but, it can't hurt to be
- safe. */
- my_wr_proc_pipe = wr_proc_pipe;
- rd_proc_pipe = wr_proc_pipe = NULL;
/* Do the relocations here. These will actually likely be overwritten by the
below child_copy but we do them here in case there is a read-only section
which does not get copied by fork. */
@@ -626,36 +614,18 @@ child_info_fork::handle_fork ()
api_fatal ("recreate_mmaps_after_fork_failed");
}
-bool
-child_info_spawn::get_parent_handle ()
-{
- parent = OpenProcess (PROCESS_VM_READ, false, parent_winpid);
- moreinfo->myself_pinfo = NULL;
- return !!parent;
-}
-
void
child_info_spawn::handle_spawn ()
{
extern void fixup_lockf_after_exec ();
HANDLE h;
- if (!dynamically_loaded || get_parent_handle ())
- {
- cygheap_fixup_in_child (true);
- memory_init (false);
- }
+ cygheap_fixup_in_child (true);
+ memory_init (false);
if (!moreinfo->myself_pinfo ||
!DuplicateHandle (GetCurrentProcess (), moreinfo->myself_pinfo,
GetCurrentProcess (), &h, 0,
FALSE, DUPLICATE_SAME_ACCESS | DUPLICATE_CLOSE_SOURCE))
h = NULL;
-
- /* Setup our write end of the process pipe. Clear the one in the structure.
- The destructor should never be called for this but, it can't hurt to be
- safe. */
- my_wr_proc_pipe = wr_proc_pipe;
- rd_proc_pipe = wr_proc_pipe = NULL;
-
myself.thisproc (h);
__argc = moreinfo->argc;
__argv = moreinfo->argv;
@@ -677,15 +647,10 @@ child_info_spawn::handle_spawn ()
ready (true);
- /* Keep pointer to parent open if we've execed so that pid will not be reused.
- Otherwise, we no longer need this handle so close it.
- Need to do this after debug_fixup_after_fork_exec or DEBUGGING handling of
+ /* Need to do this after debug_fixup_after_fork_exec or DEBUGGING handling of
handles might get confused. */
- if (type != _CH_EXEC && child_proc_info->parent)
- {
- CloseHandle (child_proc_info->parent);
- child_proc_info->parent = NULL;
- }
+ CloseHandle (child_proc_info->parent);
+ child_proc_info->parent = NULL;
signal_fixup_after_exec ();
fixup_lockf_after_exec ();
@@ -718,7 +683,6 @@ init_windows_system_directory ()
void
dll_crt0_0 ()
{
- wincap.init ();
child_proc_info = get_cygwin_startup_info ();
init_windows_system_directory ();
init_global_security ();
@@ -761,18 +725,24 @@ dll_crt0_0 ()
cygwin_user_h = child_proc_info->user_h;
switch (child_proc_info->type)
{
- case _CH_FORK:
- fork_info->handle_fork ();
- break;
- case _CH_SPAWN:
- case _CH_EXEC:
- spawn_info->handle_spawn ();
- break;
+ case _CH_FORK:
+ fork_info->handle_fork ();
+ break;
+ case _CH_SPAWN:
+ case _CH_EXEC:
+ spawn_info->handle_spawn ();
+ break;
}
}
user_data->threadinterface->Init ();
+ _cygtls::init ();
+
+ /* Initialize events */
+ events_init ();
+ tty_list::init_session ();
+
_main_tls = &_my_tls;
/* Initialize signal processing here, early, in the hopes that the creation
@@ -837,6 +807,8 @@ dll_crt0_1 (void *)
strace.microseconds ();
#endif
+ create_signal_arrived (); /* FIXME: move into wait_sig? */
+
/* Initialize debug muto, if DLL is built with --enable-debugging.
Need to do this before any helper threads start. */
debug_init ();
diff --git a/winsup/cygwin/devices.cc b/winsup/cygwin/devices.cc
index e2a776a5b..432f3359d 100644
--- a/winsup/cygwin/devices.cc
+++ b/winsup/cygwin/devices.cc
@@ -5,11 +5,6 @@
#include "sys/cygwin.h"
#include "tty.h"
#include "pinfo.h"
-#include "shared_info.h"
-#include "path.h"
-#include "fhandler.h"
-#include "ntdll.h"
-
typedef const device *KR_device_t;
@@ -17,2781 +12,2713 @@ static KR_device_t KR_find_keyword (const char *KR_keyword, int KR_length);
-
-static int
-exists_internal (const device&)
-{
- return false;
-}
-
-static int
-exists (const device&)
-{
- return true;
-}
-
-/* Check existence of POSIX devices backed by real NT devices. */
-static int
-exists_ntdev (const device& dev)
-{
- WCHAR wpath[MAX_PATH];
- UNICODE_STRING upath;
- OBJECT_ATTRIBUTES attr;
- HANDLE h;
- NTSTATUS status;
-
- sys_mbstowcs (wpath, MAX_PATH, dev.native);
- RtlInitUnicodeString (&upath, wpath);
- InitializeObjectAttributes (&attr, &upath, OBJ_CASE_INSENSITIVE, NULL, NULL);
- /* Except for the serial IO devices, the native paths are
- direct device paths, not symlinks, so every status code
- except for "NOT_FOUND" means the device exists. */
- status = NtOpenSymbolicLinkObject (&h, SYMBOLIC_LINK_QUERY, &attr);
- switch (status)
- {
- case STATUS_OBJECT_NAME_NOT_FOUND:
- case STATUS_OBJECT_PATH_NOT_FOUND:
- return false;
- case STATUS_SUCCESS:
- NtClose (h);
- default:
- break;
- }
- return true;
-}
-
-/* Don't list via readdir but allow as a direct reference. */
-static int
-exists_ntdev_silent (const device& dev)
-{
- return exists_ntdev (dev) ? -1 : false;
-}
-
-static int
-exists_console (const device& dev)
-{
- int devn = *const_cast<device *> (&dev);
- switch (devn)
- {
- case FH_CONSOLE:
- case FH_CONIN:
- case FH_CONOUT:
- return fhandler_console::exists ();
- default:
- /* Only show my own console device (for now?) */
- return iscons_dev (myself->ctty) && myself->ctty == devn;
- }
-}
-
-static int
-exists_pty (const device& dev)
-{
- /* Only existing slave ptys. */
- return cygwin_shared->tty.connect (dev.get_minor ()) != -1;
-}
-
const device dev_cygdrive_storage =
- {"/cygdrive", {FH_CYGDRIVE}, "/cygdrive", exists};
+ {"/cygdrive", {FH_CYGDRIVE}, "/cygdrive"};
const device dev_fs_storage =
- {"", {FH_FS}, "", exists};
+ {"", {FH_FS}, ""};
const device dev_proc_storage =
- {"", {FH_PROC}, "", exists};
+ {"", {FH_PROC}, ""};
const device dev_procnet_storage =
- {"", {FH_PROCNET}, "", exists};
+ {"", {FH_PROCNET}, ""};
const device dev_procsys_storage =
- {"", {FH_PROCSYS}, "", exists};
+ {"", {FH_PROCSYS}, ""};
const device dev_procsysvipc_storage =
- {"", {FH_PROCSYSVIPC}, "", exists};
+ {"", {FH_PROCSYSVIPC}, ""};
const device dev_netdrive_storage =
- {"", {FH_NETDRIVE}, "", exists};
+ {"", {FH_NETDRIVE}, ""};
+
+#if 0
+const device dev_dev_storage =
+ {"/dev", {FH_DEV}, "/dev"};
+#endif
const device dev_registry_storage =
- {"", {FH_REGISTRY}, "", exists_internal};
+ {"", {FH_REGISTRY}, ""};
const device dev_piper_storage =
- {"", {FH_PIPER}, "", exists_internal};
+ {"", {FH_PIPER}, ""};
const device dev_pipew_storage =
- {"", {FH_PIPEW}, "", exists_internal};
+ {"", {FH_PIPEW}, ""};
const device dev_tcp_storage =
- {"", {FH_TCP}, "", exists_internal};
+ {"", {FH_TCP}, ""};
const device dev_udp_storage =
- {"", {FH_UDP}, "", exists_internal};
+ {"", {FH_UDP}, ""};
const device dev_stream_storage =
- {"", {FH_STREAM}, "", exists_internal};
+ {"", {FH_STREAM}, ""};
const device dev_dgram_storage =
- {"", {FH_DGRAM}, "", exists_internal};
+ {"", {FH_DGRAM}, ""};
const device dev_bad_storage =
- {"", {FH_NADA}, "", exists_internal};
+ {"", {FH_NADA}, ""};
const device dev_error_storage =
- {"", {FH_ERROR}, "", exists_internal};
-
+ {"", {FH_ERROR}, ""};
#define BRACK(x) {devn_int: x}
-const _RDATA device dev_storage[] =
-{
- {"/dev", BRACK(FH_DEV), "/dev", exists, S_IFDIR, false},
- {"/dev/clipboard", BRACK(FH_CLIPBOARD), "/dev/clipboard", exists, S_IFCHR, true},
- {"/dev/com1", BRACK(FHDEV(DEV_SERIAL_MAJOR, 0)), "\\??\\COM1", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com2", BRACK(FHDEV(DEV_SERIAL_MAJOR, 1)), "\\??\\COM2", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com3", BRACK(FHDEV(DEV_SERIAL_MAJOR, 2)), "\\??\\COM3", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com4", BRACK(FHDEV(DEV_SERIAL_MAJOR, 3)), "\\??\\COM4", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com5", BRACK(FHDEV(DEV_SERIAL_MAJOR, 4)), "\\??\\COM5", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com6", BRACK(FHDEV(DEV_SERIAL_MAJOR, 5)), "\\??\\COM6", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com7", BRACK(FHDEV(DEV_SERIAL_MAJOR, 6)), "\\??\\COM7", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com8", BRACK(FHDEV(DEV_SERIAL_MAJOR, 7)), "\\??\\COM8", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com9", BRACK(FHDEV(DEV_SERIAL_MAJOR, 8)), "\\??\\COM9", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com10", BRACK(FHDEV(DEV_SERIAL_MAJOR, 9)), "\\??\\COM10", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com11", BRACK(FHDEV(DEV_SERIAL_MAJOR, 10)), "\\??\\COM11", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com12", BRACK(FHDEV(DEV_SERIAL_MAJOR, 11)), "\\??\\COM12", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com13", BRACK(FHDEV(DEV_SERIAL_MAJOR, 12)), "\\??\\COM13", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com14", BRACK(FHDEV(DEV_SERIAL_MAJOR, 13)), "\\??\\COM14", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com15", BRACK(FHDEV(DEV_SERIAL_MAJOR, 14)), "\\??\\COM15", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/com16", BRACK(FHDEV(DEV_SERIAL_MAJOR, 15)), "\\??\\COM16", exists_ntdev_silent, S_IFCHR, true},
- {"/dev/conin", BRACK(FH_CONIN), "/dev/conin", exists_console, S_IFCHR, true},
- {"/dev/conout", BRACK(FH_CONOUT), "/dev/conout", exists_console, S_IFCHR, true},
- {"/dev/cons0", BRACK(FHDEV(DEV_CONS_MAJOR, 0)), "/dev/cons0", exists_console, S_IFCHR, true},
- {"/dev/cons1", BRACK(FHDEV(DEV_CONS_MAJOR, 1)), "/dev/cons1", exists_console, S_IFCHR, true},
- {"/dev/cons2", BRACK(FHDEV(DEV_CONS_MAJOR, 2)), "/dev/cons2", exists_console, S_IFCHR, true},
- {"/dev/cons3", BRACK(FHDEV(DEV_CONS_MAJOR, 3)), "/dev/cons3", exists_console, S_IFCHR, true},
- {"/dev/cons4", BRACK(FHDEV(DEV_CONS_MAJOR, 4)), "/dev/cons4", exists_console, S_IFCHR, true},
- {"/dev/cons5", BRACK(FHDEV(DEV_CONS_MAJOR, 5)), "/dev/cons5", exists_console, S_IFCHR, true},
- {"/dev/cons6", BRACK(FHDEV(DEV_CONS_MAJOR, 6)), "/dev/cons6", exists_console, S_IFCHR, true},
- {"/dev/cons7", BRACK(FHDEV(DEV_CONS_MAJOR, 7)), "/dev/cons7", exists_console, S_IFCHR, true},
- {"/dev/cons8", BRACK(FHDEV(DEV_CONS_MAJOR, 8)), "/dev/cons8", exists_console, S_IFCHR, true},
- {"/dev/cons9", BRACK(FHDEV(DEV_CONS_MAJOR, 9)), "/dev/cons9", exists_console, S_IFCHR, true},
- {"/dev/cons10", BRACK(FHDEV(DEV_CONS_MAJOR, 10)), "/dev/cons10", exists_console, S_IFCHR, true},
- {"/dev/cons11", BRACK(FHDEV(DEV_CONS_MAJOR, 11)), "/dev/cons11", exists_console, S_IFCHR, true},
- {"/dev/cons12", BRACK(FHDEV(DEV_CONS_MAJOR, 12)), "/dev/cons12", exists_console, S_IFCHR, true},
- {"/dev/cons13", BRACK(FHDEV(DEV_CONS_MAJOR, 13)), "/dev/cons13", exists_console, S_IFCHR, true},
- {"/dev/cons14", BRACK(FHDEV(DEV_CONS_MAJOR, 14)), "/dev/cons14", exists_console, S_IFCHR, true},
- {"/dev/cons15", BRACK(FHDEV(DEV_CONS_MAJOR, 15)), "/dev/cons15", exists_console, S_IFCHR, true},
- {"/dev/cons16", BRACK(FHDEV(DEV_CONS_MAJOR, 16)), "/dev/cons16", exists_console, S_IFCHR, true},
- {"/dev/cons17", BRACK(FHDEV(DEV_CONS_MAJOR, 17)), "/dev/cons17", exists_console, S_IFCHR, true},
- {"/dev/cons18", BRACK(FHDEV(DEV_CONS_MAJOR, 18)), "/dev/cons18", exists_console, S_IFCHR, true},
- {"/dev/cons19", BRACK(FHDEV(DEV_CONS_MAJOR, 19)), "/dev/cons19", exists_console, S_IFCHR, true},
- {"/dev/cons20", BRACK(FHDEV(DEV_CONS_MAJOR, 20)), "/dev/cons20", exists_console, S_IFCHR, true},
- {"/dev/cons21", BRACK(FHDEV(DEV_CONS_MAJOR, 21)), "/dev/cons21", exists_console, S_IFCHR, true},
- {"/dev/cons22", BRACK(FHDEV(DEV_CONS_MAJOR, 22)), "/dev/cons22", exists_console, S_IFCHR, true},
- {"/dev/cons23", BRACK(FHDEV(DEV_CONS_MAJOR, 23)), "/dev/cons23", exists_console, S_IFCHR, true},
- {"/dev/cons24", BRACK(FHDEV(DEV_CONS_MAJOR, 24)), "/dev/cons24", exists_console, S_IFCHR, true},
- {"/dev/cons25", BRACK(FHDEV(DEV_CONS_MAJOR, 25)), "/dev/cons25", exists_console, S_IFCHR, true},
- {"/dev/cons26", BRACK(FHDEV(DEV_CONS_MAJOR, 26)), "/dev/cons26", exists_console, S_IFCHR, true},
- {"/dev/cons27", BRACK(FHDEV(DEV_CONS_MAJOR, 27)), "/dev/cons27", exists_console, S_IFCHR, true},
- {"/dev/cons28", BRACK(FHDEV(DEV_CONS_MAJOR, 28)), "/dev/cons28", exists_console, S_IFCHR, true},
- {"/dev/cons29", BRACK(FHDEV(DEV_CONS_MAJOR, 29)), "/dev/cons29", exists_console, S_IFCHR, true},
- {"/dev/cons30", BRACK(FHDEV(DEV_CONS_MAJOR, 30)), "/dev/cons30", exists_console, S_IFCHR, true},
- {"/dev/cons31", BRACK(FHDEV(DEV_CONS_MAJOR, 31)), "/dev/cons31", exists_console, S_IFCHR, true},
- {"/dev/cons32", BRACK(FHDEV(DEV_CONS_MAJOR, 32)), "/dev/cons32", exists_console, S_IFCHR, true},
- {"/dev/cons33", BRACK(FHDEV(DEV_CONS_MAJOR, 33)), "/dev/cons33", exists_console, S_IFCHR, true},
- {"/dev/cons34", BRACK(FHDEV(DEV_CONS_MAJOR, 34)), "/dev/cons34", exists_console, S_IFCHR, true},
- {"/dev/cons35", BRACK(FHDEV(DEV_CONS_MAJOR, 35)), "/dev/cons35", exists_console, S_IFCHR, true},
- {"/dev/cons36", BRACK(FHDEV(DEV_CONS_MAJOR, 36)), "/dev/cons36", exists_console, S_IFCHR, true},
- {"/dev/cons37", BRACK(FHDEV(DEV_CONS_MAJOR, 37)), "/dev/cons37", exists_console, S_IFCHR, true},
- {"/dev/cons38", BRACK(FHDEV(DEV_CONS_MAJOR, 38)), "/dev/cons38", exists_console, S_IFCHR, true},
- {"/dev/cons39", BRACK(FHDEV(DEV_CONS_MAJOR, 39)), "/dev/cons39", exists_console, S_IFCHR, true},
- {"/dev/cons40", BRACK(FHDEV(DEV_CONS_MAJOR, 40)), "/dev/cons40", exists_console, S_IFCHR, true},
- {"/dev/cons41", BRACK(FHDEV(DEV_CONS_MAJOR, 41)), "/dev/cons41", exists_console, S_IFCHR, true},
- {"/dev/cons42", BRACK(FHDEV(DEV_CONS_MAJOR, 42)), "/dev/cons42", exists_console, S_IFCHR, true},
- {"/dev/cons43", BRACK(FHDEV(DEV_CONS_MAJOR, 43)), "/dev/cons43", exists_console, S_IFCHR, true},
- {"/dev/cons44", BRACK(FHDEV(DEV_CONS_MAJOR, 44)), "/dev/cons44", exists_console, S_IFCHR, true},
- {"/dev/cons45", BRACK(FHDEV(DEV_CONS_MAJOR, 45)), "/dev/cons45", exists_console, S_IFCHR, true},
- {"/dev/cons46", BRACK(FHDEV(DEV_CONS_MAJOR, 46)), "/dev/cons46", exists_console, S_IFCHR, true},
- {"/dev/cons47", BRACK(FHDEV(DEV_CONS_MAJOR, 47)), "/dev/cons47", exists_console, S_IFCHR, true},
- {"/dev/cons48", BRACK(FHDEV(DEV_CONS_MAJOR, 48)), "/dev/cons48", exists_console, S_IFCHR, true},
- {"/dev/cons49", BRACK(FHDEV(DEV_CONS_MAJOR, 49)), "/dev/cons49", exists_console, S_IFCHR, true},
- {"/dev/cons50", BRACK(FHDEV(DEV_CONS_MAJOR, 50)), "/dev/cons50", exists_console, S_IFCHR, true},
- {"/dev/cons51", BRACK(FHDEV(DEV_CONS_MAJOR, 51)), "/dev/cons51", exists_console, S_IFCHR, true},
- {"/dev/cons52", BRACK(FHDEV(DEV_CONS_MAJOR, 52)), "/dev/cons52", exists_console, S_IFCHR, true},
- {"/dev/cons53", BRACK(FHDEV(DEV_CONS_MAJOR, 53)), "/dev/cons53", exists_console, S_IFCHR, true},
- {"/dev/cons54", BRACK(FHDEV(DEV_CONS_MAJOR, 54)), "/dev/cons54", exists_console, S_IFCHR, true},
- {"/dev/cons55", BRACK(FHDEV(DEV_CONS_MAJOR, 55)), "/dev/cons55", exists_console, S_IFCHR, true},
- {"/dev/cons56", BRACK(FHDEV(DEV_CONS_MAJOR, 56)), "/dev/cons56", exists_console, S_IFCHR, true},
- {"/dev/cons57", BRACK(FHDEV(DEV_CONS_MAJOR, 57)), "/dev/cons57", exists_console, S_IFCHR, true},
- {"/dev/cons58", BRACK(FHDEV(DEV_CONS_MAJOR, 58)), "/dev/cons58", exists_console, S_IFCHR, true},
- {"/dev/cons59", BRACK(FHDEV(DEV_CONS_MAJOR, 59)), "/dev/cons59", exists_console, S_IFCHR, true},
- {"/dev/cons60", BRACK(FHDEV(DEV_CONS_MAJOR, 60)), "/dev/cons60", exists_console, S_IFCHR, true},
- {"/dev/cons61", BRACK(FHDEV(DEV_CONS_MAJOR, 61)), "/dev/cons61", exists_console, S_IFCHR, true},
- {"/dev/cons62", BRACK(FHDEV(DEV_CONS_MAJOR, 62)), "/dev/cons62", exists_console, S_IFCHR, true},
- {"/dev/cons63", BRACK(FHDEV(DEV_CONS_MAJOR, 63)), "/dev/cons63", exists_console, S_IFCHR, true},
- {"/dev/console", BRACK(FH_CONSOLE), "/dev/console", exists_console, S_IFCHR, true},
- {"/dev/dsp", BRACK(FH_OSS_DSP), "/dev/dsp", exists, S_IFCHR, true},
- {"/dev/fd0", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 0)), "\\Device\\Floppy0", exists_ntdev, S_IFBLK, true},
- {"/dev/fd1", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 1)), "\\Device\\Floppy1", exists_ntdev, S_IFBLK, true},
- {"/dev/fd2", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 2)), "\\Device\\Floppy2", exists_ntdev, S_IFBLK, true},
- {"/dev/fd3", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 3)), "\\Device\\Floppy3", exists_ntdev, S_IFBLK, true},
- {"/dev/fd4", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 4)), "\\Device\\Floppy4", exists_ntdev, S_IFBLK, true},
- {"/dev/fd5", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 5)), "\\Device\\Floppy5", exists_ntdev, S_IFBLK, true},
- {"/dev/fd6", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 6)), "\\Device\\Floppy6", exists_ntdev, S_IFBLK, true},
- {"/dev/fd7", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 7)), "\\Device\\Floppy7", exists_ntdev, S_IFBLK, true},
- {"/dev/fd8", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 8)), "\\Device\\Floppy8", exists_ntdev, S_IFBLK, true},
- {"/dev/fd9", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 9)), "\\Device\\Floppy9", exists_ntdev, S_IFBLK, true},
- {"/dev/fd10", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 10)), "\\Device\\Floppy10", exists_ntdev, S_IFBLK, true},
- {"/dev/fd11", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 11)), "\\Device\\Floppy11", exists_ntdev, S_IFBLK, true},
- {"/dev/fd12", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 12)), "\\Device\\Floppy12", exists_ntdev, S_IFBLK, true},
- {"/dev/fd13", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 13)), "\\Device\\Floppy13", exists_ntdev, S_IFBLK, true},
- {"/dev/fd14", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 14)), "\\Device\\Floppy14", exists_ntdev, S_IFBLK, true},
- {"/dev/fd15", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 15)), "\\Device\\Floppy15", exists_ntdev, S_IFBLK, true},
- {"/dev/full", BRACK(FH_FULL), "/dev/full", exists, S_IFCHR, true},
- {"/dev/kmem", BRACK(FH_KMEM), "/dev/kmem", exists, S_IFCHR, true},
- {"/dev/kmsg", BRACK(FH_KMSG), "\\Device\\MailSlot\\cygwin\\dev\\kmsg", exists_ntdev, S_IFCHR, true},
- {"/dev/mem", BRACK(FH_MEM), "/dev/mem", exists, S_IFCHR, true},
- {"/dev/nst0", BRACK(FHDEV(DEV_TAPE_MAJOR, 128)), "\\Device\\Tape0", exists_ntdev, S_IFBLK, true},
- {"/dev/nst1", BRACK(FHDEV(DEV_TAPE_MAJOR, 129)), "\\Device\\Tape1", exists_ntdev, S_IFBLK, true},
- {"/dev/nst2", BRACK(FHDEV(DEV_TAPE_MAJOR, 130)), "\\Device\\Tape2", exists_ntdev, S_IFBLK, true},
- {"/dev/nst3", BRACK(FHDEV(DEV_TAPE_MAJOR, 131)), "\\Device\\Tape3", exists_ntdev, S_IFBLK, true},
- {"/dev/nst4", BRACK(FHDEV(DEV_TAPE_MAJOR, 132)), "\\Device\\Tape4", exists_ntdev, S_IFBLK, true},
- {"/dev/nst5", BRACK(FHDEV(DEV_TAPE_MAJOR, 133)), "\\Device\\Tape5", exists_ntdev, S_IFBLK, true},
- {"/dev/nst6", BRACK(FHDEV(DEV_TAPE_MAJOR, 134)), "\\Device\\Tape6", exists_ntdev, S_IFBLK, true},
- {"/dev/nst7", BRACK(FHDEV(DEV_TAPE_MAJOR, 135)), "\\Device\\Tape7", exists_ntdev, S_IFBLK, true},
- {"/dev/nst8", BRACK(FHDEV(DEV_TAPE_MAJOR, 136)), "\\Device\\Tape8", exists_ntdev, S_IFBLK, true},
- {"/dev/nst9", BRACK(FHDEV(DEV_TAPE_MAJOR, 137)), "\\Device\\Tape9", exists_ntdev, S_IFBLK, true},
- {"/dev/nst10", BRACK(FHDEV(DEV_TAPE_MAJOR, 138)), "\\Device\\Tape10", exists_ntdev, S_IFBLK, true},
- {"/dev/nst11", BRACK(FHDEV(DEV_TAPE_MAJOR, 139)), "\\Device\\Tape11", exists_ntdev, S_IFBLK, true},
- {"/dev/nst12", BRACK(FHDEV(DEV_TAPE_MAJOR, 140)), "\\Device\\Tape12", exists_ntdev, S_IFBLK, true},
- {"/dev/nst13", BRACK(FHDEV(DEV_TAPE_MAJOR, 141)), "\\Device\\Tape13", exists_ntdev, S_IFBLK, true},
- {"/dev/nst14", BRACK(FHDEV(DEV_TAPE_MAJOR, 142)), "\\Device\\Tape14", exists_ntdev, S_IFBLK, true},
- {"/dev/nst15", BRACK(FHDEV(DEV_TAPE_MAJOR, 143)), "\\Device\\Tape15", exists_ntdev, S_IFBLK, true},
- {"/dev/nst16", BRACK(FHDEV(DEV_TAPE_MAJOR, 144)), "\\Device\\Tape16", exists_ntdev, S_IFBLK, true},
- {"/dev/nst17", BRACK(FHDEV(DEV_TAPE_MAJOR, 145)), "\\Device\\Tape17", exists_ntdev, S_IFBLK, true},
- {"/dev/nst18", BRACK(FHDEV(DEV_TAPE_MAJOR, 146)), "\\Device\\Tape18", exists_ntdev, S_IFBLK, true},
- {"/dev/nst19", BRACK(FHDEV(DEV_TAPE_MAJOR, 147)), "\\Device\\Tape19", exists_ntdev, S_IFBLK, true},
- {"/dev/nst20", BRACK(FHDEV(DEV_TAPE_MAJOR, 148)), "\\Device\\Tape20", exists_ntdev, S_IFBLK, true},
- {"/dev/nst21", BRACK(FHDEV(DEV_TAPE_MAJOR, 149)), "\\Device\\Tape21", exists_ntdev, S_IFBLK, true},
- {"/dev/nst22", BRACK(FHDEV(DEV_TAPE_MAJOR, 150)), "\\Device\\Tape22", exists_ntdev, S_IFBLK, true},
- {"/dev/nst23", BRACK(FHDEV(DEV_TAPE_MAJOR, 151)), "\\Device\\Tape23", exists_ntdev, S_IFBLK, true},
- {"/dev/nst24", BRACK(FHDEV(DEV_TAPE_MAJOR, 152)), "\\Device\\Tape24", exists_ntdev, S_IFBLK, true},
- {"/dev/nst25", BRACK(FHDEV(DEV_TAPE_MAJOR, 153)), "\\Device\\Tape25", exists_ntdev, S_IFBLK, true},
- {"/dev/nst26", BRACK(FHDEV(DEV_TAPE_MAJOR, 154)), "\\Device\\Tape26", exists_ntdev, S_IFBLK, true},
- {"/dev/nst27", BRACK(FHDEV(DEV_TAPE_MAJOR, 155)), "\\Device\\Tape27", exists_ntdev, S_IFBLK, true},
- {"/dev/nst28", BRACK(FHDEV(DEV_TAPE_MAJOR, 156)), "\\Device\\Tape28", exists_ntdev, S_IFBLK, true},
- {"/dev/nst29", BRACK(FHDEV(DEV_TAPE_MAJOR, 157)), "\\Device\\Tape29", exists_ntdev, S_IFBLK, true},
- {"/dev/nst30", BRACK(FHDEV(DEV_TAPE_MAJOR, 158)), "\\Device\\Tape30", exists_ntdev, S_IFBLK, true},
- {"/dev/nst31", BRACK(FHDEV(DEV_TAPE_MAJOR, 159)), "\\Device\\Tape31", exists_ntdev, S_IFBLK, true},
- {"/dev/nst32", BRACK(FHDEV(DEV_TAPE_MAJOR, 160)), "\\Device\\Tape32", exists_ntdev, S_IFBLK, true},
- {"/dev/nst33", BRACK(FHDEV(DEV_TAPE_MAJOR, 161)), "\\Device\\Tape33", exists_ntdev, S_IFBLK, true},
- {"/dev/nst34", BRACK(FHDEV(DEV_TAPE_MAJOR, 162)), "\\Device\\Tape34", exists_ntdev, S_IFBLK, true},
- {"/dev/nst35", BRACK(FHDEV(DEV_TAPE_MAJOR, 163)), "\\Device\\Tape35", exists_ntdev, S_IFBLK, true},
- {"/dev/nst36", BRACK(FHDEV(DEV_TAPE_MAJOR, 164)), "\\Device\\Tape36", exists_ntdev, S_IFBLK, true},
- {"/dev/nst37", BRACK(FHDEV(DEV_TAPE_MAJOR, 165)), "\\Device\\Tape37", exists_ntdev, S_IFBLK, true},
- {"/dev/nst38", BRACK(FHDEV(DEV_TAPE_MAJOR, 166)), "\\Device\\Tape38", exists_ntdev, S_IFBLK, true},
- {"/dev/nst39", BRACK(FHDEV(DEV_TAPE_MAJOR, 167)), "\\Device\\Tape39", exists_ntdev, S_IFBLK, true},
- {"/dev/nst40", BRACK(FHDEV(DEV_TAPE_MAJOR, 168)), "\\Device\\Tape40", exists_ntdev, S_IFBLK, true},
- {"/dev/nst41", BRACK(FHDEV(DEV_TAPE_MAJOR, 169)), "\\Device\\Tape41", exists_ntdev, S_IFBLK, true},
- {"/dev/nst42", BRACK(FHDEV(DEV_TAPE_MAJOR, 170)), "\\Device\\Tape42", exists_ntdev, S_IFBLK, true},
- {"/dev/nst43", BRACK(FHDEV(DEV_TAPE_MAJOR, 171)), "\\Device\\Tape43", exists_ntdev, S_IFBLK, true},
- {"/dev/nst44", BRACK(FHDEV(DEV_TAPE_MAJOR, 172)), "\\Device\\Tape44", exists_ntdev, S_IFBLK, true},
- {"/dev/nst45", BRACK(FHDEV(DEV_TAPE_MAJOR, 173)), "\\Device\\Tape45", exists_ntdev, S_IFBLK, true},
- {"/dev/nst46", BRACK(FHDEV(DEV_TAPE_MAJOR, 174)), "\\Device\\Tape46", exists_ntdev, S_IFBLK, true},
- {"/dev/nst47", BRACK(FHDEV(DEV_TAPE_MAJOR, 175)), "\\Device\\Tape47", exists_ntdev, S_IFBLK, true},
- {"/dev/nst48", BRACK(FHDEV(DEV_TAPE_MAJOR, 176)), "\\Device\\Tape48", exists_ntdev, S_IFBLK, true},
- {"/dev/nst49", BRACK(FHDEV(DEV_TAPE_MAJOR, 177)), "\\Device\\Tape49", exists_ntdev, S_IFBLK, true},
- {"/dev/nst50", BRACK(FHDEV(DEV_TAPE_MAJOR, 178)), "\\Device\\Tape50", exists_ntdev, S_IFBLK, true},
- {"/dev/nst51", BRACK(FHDEV(DEV_TAPE_MAJOR, 179)), "\\Device\\Tape51", exists_ntdev, S_IFBLK, true},
- {"/dev/nst52", BRACK(FHDEV(DEV_TAPE_MAJOR, 180)), "\\Device\\Tape52", exists_ntdev, S_IFBLK, true},
- {"/dev/nst53", BRACK(FHDEV(DEV_TAPE_MAJOR, 181)), "\\Device\\Tape53", exists_ntdev, S_IFBLK, true},
- {"/dev/nst54", BRACK(FHDEV(DEV_TAPE_MAJOR, 182)), "\\Device\\Tape54", exists_ntdev, S_IFBLK, true},
- {"/dev/nst55", BRACK(FHDEV(DEV_TAPE_MAJOR, 183)), "\\Device\\Tape55", exists_ntdev, S_IFBLK, true},
- {"/dev/nst56", BRACK(FHDEV(DEV_TAPE_MAJOR, 184)), "\\Device\\Tape56", exists_ntdev, S_IFBLK, true},
- {"/dev/nst57", BRACK(FHDEV(DEV_TAPE_MAJOR, 185)), "\\Device\\Tape57", exists_ntdev, S_IFBLK, true},
- {"/dev/nst58", BRACK(FHDEV(DEV_TAPE_MAJOR, 186)), "\\Device\\Tape58", exists_ntdev, S_IFBLK, true},
- {"/dev/nst59", BRACK(FHDEV(DEV_TAPE_MAJOR, 187)), "\\Device\\Tape59", exists_ntdev, S_IFBLK, true},
- {"/dev/nst60", BRACK(FHDEV(DEV_TAPE_MAJOR, 188)), "\\Device\\Tape60", exists_ntdev, S_IFBLK, true},
- {"/dev/nst61", BRACK(FHDEV(DEV_TAPE_MAJOR, 189)), "\\Device\\Tape61", exists_ntdev, S_IFBLK, true},
- {"/dev/nst62", BRACK(FHDEV(DEV_TAPE_MAJOR, 190)), "\\Device\\Tape62", exists_ntdev, S_IFBLK, true},
- {"/dev/nst63", BRACK(FHDEV(DEV_TAPE_MAJOR, 191)), "\\Device\\Tape63", exists_ntdev, S_IFBLK, true},
- {"/dev/nst64", BRACK(FHDEV(DEV_TAPE_MAJOR, 192)), "\\Device\\Tape64", exists_ntdev, S_IFBLK, true},
- {"/dev/nst65", BRACK(FHDEV(DEV_TAPE_MAJOR, 193)), "\\Device\\Tape65", exists_ntdev, S_IFBLK, true},
- {"/dev/nst66", BRACK(FHDEV(DEV_TAPE_MAJOR, 194)), "\\Device\\Tape66", exists_ntdev, S_IFBLK, true},
- {"/dev/nst67", BRACK(FHDEV(DEV_TAPE_MAJOR, 195)), "\\Device\\Tape67", exists_ntdev, S_IFBLK, true},
- {"/dev/nst68", BRACK(FHDEV(DEV_TAPE_MAJOR, 196)), "\\Device\\Tape68", exists_ntdev, S_IFBLK, true},
- {"/dev/nst69", BRACK(FHDEV(DEV_TAPE_MAJOR, 197)), "\\Device\\Tape69", exists_ntdev, S_IFBLK, true},
- {"/dev/nst70", BRACK(FHDEV(DEV_TAPE_MAJOR, 198)), "\\Device\\Tape70", exists_ntdev, S_IFBLK, true},
- {"/dev/nst71", BRACK(FHDEV(DEV_TAPE_MAJOR, 199)), "\\Device\\Tape71", exists_ntdev, S_IFBLK, true},
- {"/dev/nst72", BRACK(FHDEV(DEV_TAPE_MAJOR, 200)), "\\Device\\Tape72", exists_ntdev, S_IFBLK, true},
- {"/dev/nst73", BRACK(FHDEV(DEV_TAPE_MAJOR, 201)), "\\Device\\Tape73", exists_ntdev, S_IFBLK, true},
- {"/dev/nst74", BRACK(FHDEV(DEV_TAPE_MAJOR, 202)), "\\Device\\Tape74", exists_ntdev, S_IFBLK, true},
- {"/dev/nst75", BRACK(FHDEV(DEV_TAPE_MAJOR, 203)), "\\Device\\Tape75", exists_ntdev, S_IFBLK, true},
- {"/dev/nst76", BRACK(FHDEV(DEV_TAPE_MAJOR, 204)), "\\Device\\Tape76", exists_ntdev, S_IFBLK, true},
- {"/dev/nst77", BRACK(FHDEV(DEV_TAPE_MAJOR, 205)), "\\Device\\Tape77", exists_ntdev, S_IFBLK, true},
- {"/dev/nst78", BRACK(FHDEV(DEV_TAPE_MAJOR, 206)), "\\Device\\Tape78", exists_ntdev, S_IFBLK, true},
- {"/dev/nst79", BRACK(FHDEV(DEV_TAPE_MAJOR, 207)), "\\Device\\Tape79", exists_ntdev, S_IFBLK, true},
- {"/dev/nst80", BRACK(FHDEV(DEV_TAPE_MAJOR, 208)), "\\Device\\Tape80", exists_ntdev, S_IFBLK, true},
- {"/dev/nst81", BRACK(FHDEV(DEV_TAPE_MAJOR, 209)), "\\Device\\Tape81", exists_ntdev, S_IFBLK, true},
- {"/dev/nst82", BRACK(FHDEV(DEV_TAPE_MAJOR, 210)), "\\Device\\Tape82", exists_ntdev, S_IFBLK, true},
- {"/dev/nst83", BRACK(FHDEV(DEV_TAPE_MAJOR, 211)), "\\Device\\Tape83", exists_ntdev, S_IFBLK, true},
- {"/dev/nst84", BRACK(FHDEV(DEV_TAPE_MAJOR, 212)), "\\Device\\Tape84", exists_ntdev, S_IFBLK, true},
- {"/dev/nst85", BRACK(FHDEV(DEV_TAPE_MAJOR, 213)), "\\Device\\Tape85", exists_ntdev, S_IFBLK, true},
- {"/dev/nst86", BRACK(FHDEV(DEV_TAPE_MAJOR, 214)), "\\Device\\Tape86", exists_ntdev, S_IFBLK, true},
- {"/dev/nst87", BRACK(FHDEV(DEV_TAPE_MAJOR, 215)), "\\Device\\Tape87", exists_ntdev, S_IFBLK, true},
- {"/dev/nst88", BRACK(FHDEV(DEV_TAPE_MAJOR, 216)), "\\Device\\Tape88", exists_ntdev, S_IFBLK, true},
- {"/dev/nst89", BRACK(FHDEV(DEV_TAPE_MAJOR, 217)), "\\Device\\Tape89", exists_ntdev, S_IFBLK, true},
- {"/dev/nst90", BRACK(FHDEV(DEV_TAPE_MAJOR, 218)), "\\Device\\Tape90", exists_ntdev, S_IFBLK, true},
- {"/dev/nst91", BRACK(FHDEV(DEV_TAPE_MAJOR, 219)), "\\Device\\Tape91", exists_ntdev, S_IFBLK, true},
- {"/dev/nst92", BRACK(FHDEV(DEV_TAPE_MAJOR, 220)), "\\Device\\Tape92", exists_ntdev, S_IFBLK, true},
- {"/dev/nst93", BRACK(FHDEV(DEV_TAPE_MAJOR, 221)), "\\Device\\Tape93", exists_ntdev, S_IFBLK, true},
- {"/dev/nst94", BRACK(FHDEV(DEV_TAPE_MAJOR, 222)), "\\Device\\Tape94", exists_ntdev, S_IFBLK, true},
- {"/dev/nst95", BRACK(FHDEV(DEV_TAPE_MAJOR, 223)), "\\Device\\Tape95", exists_ntdev, S_IFBLK, true},
- {"/dev/nst96", BRACK(FHDEV(DEV_TAPE_MAJOR, 224)), "\\Device\\Tape96", exists_ntdev, S_IFBLK, true},
- {"/dev/nst97", BRACK(FHDEV(DEV_TAPE_MAJOR, 225)), "\\Device\\Tape97", exists_ntdev, S_IFBLK, true},
- {"/dev/nst98", BRACK(FHDEV(DEV_TAPE_MAJOR, 226)), "\\Device\\Tape98", exists_ntdev, S_IFBLK, true},
- {"/dev/nst99", BRACK(FHDEV(DEV_TAPE_MAJOR, 227)), "\\Device\\Tape99", exists_ntdev, S_IFBLK, true},
- {"/dev/nst100", BRACK(FHDEV(DEV_TAPE_MAJOR, 228)), "\\Device\\Tape100", exists_ntdev, S_IFBLK, true},
- {"/dev/nst101", BRACK(FHDEV(DEV_TAPE_MAJOR, 229)), "\\Device\\Tape101", exists_ntdev, S_IFBLK, true},
- {"/dev/nst102", BRACK(FHDEV(DEV_TAPE_MAJOR, 230)), "\\Device\\Tape102", exists_ntdev, S_IFBLK, true},
- {"/dev/nst103", BRACK(FHDEV(DEV_TAPE_MAJOR, 231)), "\\Device\\Tape103", exists_ntdev, S_IFBLK, true},
- {"/dev/nst104", BRACK(FHDEV(DEV_TAPE_MAJOR, 232)), "\\Device\\Tape104", exists_ntdev, S_IFBLK, true},
- {"/dev/nst105", BRACK(FHDEV(DEV_TAPE_MAJOR, 233)), "\\Device\\Tape105", exists_ntdev, S_IFBLK, true},
- {"/dev/nst106", BRACK(FHDEV(DEV_TAPE_MAJOR, 234)), "\\Device\\Tape106", exists_ntdev, S_IFBLK, true},
- {"/dev/nst107", BRACK(FHDEV(DEV_TAPE_MAJOR, 235)), "\\Device\\Tape107", exists_ntdev, S_IFBLK, true},
- {"/dev/nst108", BRACK(FHDEV(DEV_TAPE_MAJOR, 236)), "\\Device\\Tape108", exists_ntdev, S_IFBLK, true},
- {"/dev/nst109", BRACK(FHDEV(DEV_TAPE_MAJOR, 237)), "\\Device\\Tape109", exists_ntdev, S_IFBLK, true},
- {"/dev/nst110", BRACK(FHDEV(DEV_TAPE_MAJOR, 238)), "\\Device\\Tape110", exists_ntdev, S_IFBLK, true},
- {"/dev/nst111", BRACK(FHDEV(DEV_TAPE_MAJOR, 239)), "\\Device\\Tape111", exists_ntdev, S_IFBLK, true},
- {"/dev/nst112", BRACK(FHDEV(DEV_TAPE_MAJOR, 240)), "\\Device\\Tape112", exists_ntdev, S_IFBLK, true},
- {"/dev/nst113", BRACK(FHDEV(DEV_TAPE_MAJOR, 241)), "\\Device\\Tape113", exists_ntdev, S_IFBLK, true},
- {"/dev/nst114", BRACK(FHDEV(DEV_TAPE_MAJOR, 242)), "\\Device\\Tape114", exists_ntdev, S_IFBLK, true},
- {"/dev/nst115", BRACK(FHDEV(DEV_TAPE_MAJOR, 243)), "\\Device\\Tape115", exists_ntdev, S_IFBLK, true},
- {"/dev/nst116", BRACK(FHDEV(DEV_TAPE_MAJOR, 244)), "\\Device\\Tape116", exists_ntdev, S_IFBLK, true},
- {"/dev/nst117", BRACK(FHDEV(DEV_TAPE_MAJOR, 245)), "\\Device\\Tape117", exists_ntdev, S_IFBLK, true},
- {"/dev/nst118", BRACK(FHDEV(DEV_TAPE_MAJOR, 246)), "\\Device\\Tape118", exists_ntdev, S_IFBLK, true},
- {"/dev/nst119", BRACK(FHDEV(DEV_TAPE_MAJOR, 247)), "\\Device\\Tape119", exists_ntdev, S_IFBLK, true},
- {"/dev/nst120", BRACK(FHDEV(DEV_TAPE_MAJOR, 248)), "\\Device\\Tape120", exists_ntdev, S_IFBLK, true},
- {"/dev/nst121", BRACK(FHDEV(DEV_TAPE_MAJOR, 249)), "\\Device\\Tape121", exists_ntdev, S_IFBLK, true},
- {"/dev/nst122", BRACK(FHDEV(DEV_TAPE_MAJOR, 250)), "\\Device\\Tape122", exists_ntdev, S_IFBLK, true},
- {"/dev/nst123", BRACK(FHDEV(DEV_TAPE_MAJOR, 251)), "\\Device\\Tape123", exists_ntdev, S_IFBLK, true},
- {"/dev/nst124", BRACK(FHDEV(DEV_TAPE_MAJOR, 252)), "\\Device\\Tape124", exists_ntdev, S_IFBLK, true},
- {"/dev/nst125", BRACK(FHDEV(DEV_TAPE_MAJOR, 253)), "\\Device\\Tape125", exists_ntdev, S_IFBLK, true},
- {"/dev/nst126", BRACK(FHDEV(DEV_TAPE_MAJOR, 254)), "\\Device\\Tape126", exists_ntdev, S_IFBLK, true},
- {"/dev/nst127", BRACK(FHDEV(DEV_TAPE_MAJOR, 255)), "\\Device\\Tape127", exists_ntdev, S_IFBLK, true},
- {"/dev/null", BRACK(FH_NULL), "\\Device\\Null", exists_ntdev, S_IFCHR, true},
- {"/dev/port", BRACK(FH_PORT), "/dev/port", exists, S_IFCHR, true},
- {"/dev/ptmx", BRACK(FH_PTMX), "/dev/ptmx", exists, S_IFCHR, true},
- {"/dev/pty0", BRACK(FHDEV(DEV_PTYS_MAJOR, 0)), "/dev/pty0", exists_pty, S_IFCHR, true},
- {"/dev/pty1", BRACK(FHDEV(DEV_PTYS_MAJOR, 1)), "/dev/pty1", exists_pty, S_IFCHR, true},
- {"/dev/pty2", BRACK(FHDEV(DEV_PTYS_MAJOR, 2)), "/dev/pty2", exists_pty, S_IFCHR, true},
- {"/dev/pty3", BRACK(FHDEV(DEV_PTYS_MAJOR, 3)), "/dev/pty3", exists_pty, S_IFCHR, true},
- {"/dev/pty4", BRACK(FHDEV(DEV_PTYS_MAJOR, 4)), "/dev/pty4", exists_pty, S_IFCHR, true},
- {"/dev/pty5", BRACK(FHDEV(DEV_PTYS_MAJOR, 5)), "/dev/pty5", exists_pty, S_IFCHR, true},
- {"/dev/pty6", BRACK(FHDEV(DEV_PTYS_MAJOR, 6)), "/dev/pty6", exists_pty, S_IFCHR, true},
- {"/dev/pty7", BRACK(FHDEV(DEV_PTYS_MAJOR, 7)), "/dev/pty7", exists_pty, S_IFCHR, true},
- {"/dev/pty8", BRACK(FHDEV(DEV_PTYS_MAJOR, 8)), "/dev/pty8", exists_pty, S_IFCHR, true},
- {"/dev/pty9", BRACK(FHDEV(DEV_PTYS_MAJOR, 9)), "/dev/pty9", exists_pty, S_IFCHR, true},
- {"/dev/pty10", BRACK(FHDEV(DEV_PTYS_MAJOR, 10)), "/dev/pty10", exists_pty, S_IFCHR, true},
- {"/dev/pty11", BRACK(FHDEV(DEV_PTYS_MAJOR, 11)), "/dev/pty11", exists_pty, S_IFCHR, true},
- {"/dev/pty12", BRACK(FHDEV(DEV_PTYS_MAJOR, 12)), "/dev/pty12", exists_pty, S_IFCHR, true},
- {"/dev/pty13", BRACK(FHDEV(DEV_PTYS_MAJOR, 13)), "/dev/pty13", exists_pty, S_IFCHR, true},
- {"/dev/pty14", BRACK(FHDEV(DEV_PTYS_MAJOR, 14)), "/dev/pty14", exists_pty, S_IFCHR, true},
- {"/dev/pty15", BRACK(FHDEV(DEV_PTYS_MAJOR, 15)), "/dev/pty15", exists_pty, S_IFCHR, true},
- {"/dev/pty16", BRACK(FHDEV(DEV_PTYS_MAJOR, 16)), "/dev/pty16", exists_pty, S_IFCHR, true},
- {"/dev/pty17", BRACK(FHDEV(DEV_PTYS_MAJOR, 17)), "/dev/pty17", exists_pty, S_IFCHR, true},
- {"/dev/pty18", BRACK(FHDEV(DEV_PTYS_MAJOR, 18)), "/dev/pty18", exists_pty, S_IFCHR, true},
- {"/dev/pty19", BRACK(FHDEV(DEV_PTYS_MAJOR, 19)), "/dev/pty19", exists_pty, S_IFCHR, true},
- {"/dev/pty20", BRACK(FHDEV(DEV_PTYS_MAJOR, 20)), "/dev/pty20", exists_pty, S_IFCHR, true},
- {"/dev/pty21", BRACK(FHDEV(DEV_PTYS_MAJOR, 21)), "/dev/pty21", exists_pty, S_IFCHR, true},
- {"/dev/pty22", BRACK(FHDEV(DEV_PTYS_MAJOR, 22)), "/dev/pty22", exists_pty, S_IFCHR, true},
- {"/dev/pty23", BRACK(FHDEV(DEV_PTYS_MAJOR, 23)), "/dev/pty23", exists_pty, S_IFCHR, true},
- {"/dev/pty24", BRACK(FHDEV(DEV_PTYS_MAJOR, 24)), "/dev/pty24", exists_pty, S_IFCHR, true},
- {"/dev/pty25", BRACK(FHDEV(DEV_PTYS_MAJOR, 25)), "/dev/pty25", exists_pty, S_IFCHR, true},
- {"/dev/pty26", BRACK(FHDEV(DEV_PTYS_MAJOR, 26)), "/dev/pty26", exists_pty, S_IFCHR, true},
- {"/dev/pty27", BRACK(FHDEV(DEV_PTYS_MAJOR, 27)), "/dev/pty27", exists_pty, S_IFCHR, true},
- {"/dev/pty28", BRACK(FHDEV(DEV_PTYS_MAJOR, 28)), "/dev/pty28", exists_pty, S_IFCHR, true},
- {"/dev/pty29", BRACK(FHDEV(DEV_PTYS_MAJOR, 29)), "/dev/pty29", exists_pty, S_IFCHR, true},
- {"/dev/pty30", BRACK(FHDEV(DEV_PTYS_MAJOR, 30)), "/dev/pty30", exists_pty, S_IFCHR, true},
- {"/dev/pty31", BRACK(FHDEV(DEV_PTYS_MAJOR, 31)), "/dev/pty31", exists_pty, S_IFCHR, true},
- {"/dev/pty32", BRACK(FHDEV(DEV_PTYS_MAJOR, 32)), "/dev/pty32", exists_pty, S_IFCHR, true},
- {"/dev/pty33", BRACK(FHDEV(DEV_PTYS_MAJOR, 33)), "/dev/pty33", exists_pty, S_IFCHR, true},
- {"/dev/pty34", BRACK(FHDEV(DEV_PTYS_MAJOR, 34)), "/dev/pty34", exists_pty, S_IFCHR, true},
- {"/dev/pty35", BRACK(FHDEV(DEV_PTYS_MAJOR, 35)), "/dev/pty35", exists_pty, S_IFCHR, true},
- {"/dev/pty36", BRACK(FHDEV(DEV_PTYS_MAJOR, 36)), "/dev/pty36", exists_pty, S_IFCHR, true},
- {"/dev/pty37", BRACK(FHDEV(DEV_PTYS_MAJOR, 37)), "/dev/pty37", exists_pty, S_IFCHR, true},
- {"/dev/pty38", BRACK(FHDEV(DEV_PTYS_MAJOR, 38)), "/dev/pty38", exists_pty, S_IFCHR, true},
- {"/dev/pty39", BRACK(FHDEV(DEV_PTYS_MAJOR, 39)), "/dev/pty39", exists_pty, S_IFCHR, true},
- {"/dev/pty40", BRACK(FHDEV(DEV_PTYS_MAJOR, 40)), "/dev/pty40", exists_pty, S_IFCHR, true},
- {"/dev/pty41", BRACK(FHDEV(DEV_PTYS_MAJOR, 41)), "/dev/pty41", exists_pty, S_IFCHR, true},
- {"/dev/pty42", BRACK(FHDEV(DEV_PTYS_MAJOR, 42)), "/dev/pty42", exists_pty, S_IFCHR, true},
- {"/dev/pty43", BRACK(FHDEV(DEV_PTYS_MAJOR, 43)), "/dev/pty43", exists_pty, S_IFCHR, true},
- {"/dev/pty44", BRACK(FHDEV(DEV_PTYS_MAJOR, 44)), "/dev/pty44", exists_pty, S_IFCHR, true},
- {"/dev/pty45", BRACK(FHDEV(DEV_PTYS_MAJOR, 45)), "/dev/pty45", exists_pty, S_IFCHR, true},
- {"/dev/pty46", BRACK(FHDEV(DEV_PTYS_MAJOR, 46)), "/dev/pty46", exists_pty, S_IFCHR, true},
- {"/dev/pty47", BRACK(FHDEV(DEV_PTYS_MAJOR, 47)), "/dev/pty47", exists_pty, S_IFCHR, true},
- {"/dev/pty48", BRACK(FHDEV(DEV_PTYS_MAJOR, 48)), "/dev/pty48", exists_pty, S_IFCHR, true},
- {"/dev/pty49", BRACK(FHDEV(DEV_PTYS_MAJOR, 49)), "/dev/pty49", exists_pty, S_IFCHR, true},
- {"/dev/pty50", BRACK(FHDEV(DEV_PTYS_MAJOR, 50)), "/dev/pty50", exists_pty, S_IFCHR, true},
- {"/dev/pty51", BRACK(FHDEV(DEV_PTYS_MAJOR, 51)), "/dev/pty51", exists_pty, S_IFCHR, true},
- {"/dev/pty52", BRACK(FHDEV(DEV_PTYS_MAJOR, 52)), "/dev/pty52", exists_pty, S_IFCHR, true},
- {"/dev/pty53", BRACK(FHDEV(DEV_PTYS_MAJOR, 53)), "/dev/pty53", exists_pty, S_IFCHR, true},
- {"/dev/pty54", BRACK(FHDEV(DEV_PTYS_MAJOR, 54)), "/dev/pty54", exists_pty, S_IFCHR, true},
- {"/dev/pty55", BRACK(FHDEV(DEV_PTYS_MAJOR, 55)), "/dev/pty55", exists_pty, S_IFCHR, true},
- {"/dev/pty56", BRACK(FHDEV(DEV_PTYS_MAJOR, 56)), "/dev/pty56", exists_pty, S_IFCHR, true},
- {"/dev/pty57", BRACK(FHDEV(DEV_PTYS_MAJOR, 57)), "/dev/pty57", exists_pty, S_IFCHR, true},
- {"/dev/pty58", BRACK(FHDEV(DEV_PTYS_MAJOR, 58)), "/dev/pty58", exists_pty, S_IFCHR, true},
- {"/dev/pty59", BRACK(FHDEV(DEV_PTYS_MAJOR, 59)), "/dev/pty59", exists_pty, S_IFCHR, true},
- {"/dev/pty60", BRACK(FHDEV(DEV_PTYS_MAJOR, 60)), "/dev/pty60", exists_pty, S_IFCHR, true},
- {"/dev/pty61", BRACK(FHDEV(DEV_PTYS_MAJOR, 61)), "/dev/pty61", exists_pty, S_IFCHR, true},
- {"/dev/pty62", BRACK(FHDEV(DEV_PTYS_MAJOR, 62)), "/dev/pty62", exists_pty, S_IFCHR, true},
- {"/dev/pty63", BRACK(FHDEV(DEV_PTYS_MAJOR, 63)), "/dev/pty63", exists_pty, S_IFCHR, true},
- {"/dev/random", BRACK(FH_RANDOM), "/dev/random", exists, S_IFCHR, true},
- {"/dev/scd0", BRACK(FHDEV(DEV_CDROM_MAJOR, 0)), "\\Device\\CdRom0", exists_ntdev, S_IFBLK, true},
- {"/dev/scd1", BRACK(FHDEV(DEV_CDROM_MAJOR, 1)), "\\Device\\CdRom1", exists_ntdev, S_IFBLK, true},
- {"/dev/scd2", BRACK(FHDEV(DEV_CDROM_MAJOR, 2)), "\\Device\\CdRom2", exists_ntdev, S_IFBLK, true},
- {"/dev/scd3", BRACK(FHDEV(DEV_CDROM_MAJOR, 3)), "\\Device\\CdRom3", exists_ntdev, S_IFBLK, true},
- {"/dev/scd4", BRACK(FHDEV(DEV_CDROM_MAJOR, 4)), "\\Device\\CdRom4", exists_ntdev, S_IFBLK, true},
- {"/dev/scd5", BRACK(FHDEV(DEV_CDROM_MAJOR, 5)), "\\Device\\CdRom5", exists_ntdev, S_IFBLK, true},
- {"/dev/scd6", BRACK(FHDEV(DEV_CDROM_MAJOR, 6)), "\\Device\\CdRom6", exists_ntdev, S_IFBLK, true},
- {"/dev/scd7", BRACK(FHDEV(DEV_CDROM_MAJOR, 7)), "\\Device\\CdRom7", exists_ntdev, S_IFBLK, true},
- {"/dev/scd8", BRACK(FHDEV(DEV_CDROM_MAJOR, 8)), "\\Device\\CdRom8", exists_ntdev, S_IFBLK, true},
- {"/dev/scd9", BRACK(FHDEV(DEV_CDROM_MAJOR, 9)), "\\Device\\CdRom9", exists_ntdev, S_IFBLK, true},
- {"/dev/scd10", BRACK(FHDEV(DEV_CDROM_MAJOR, 10)), "\\Device\\CdRom10", exists_ntdev, S_IFBLK, true},
- {"/dev/scd11", BRACK(FHDEV(DEV_CDROM_MAJOR, 11)), "\\Device\\CdRom11", exists_ntdev, S_IFBLK, true},
- {"/dev/scd12", BRACK(FHDEV(DEV_CDROM_MAJOR, 12)), "\\Device\\CdRom12", exists_ntdev, S_IFBLK, true},
- {"/dev/scd13", BRACK(FHDEV(DEV_CDROM_MAJOR, 13)), "\\Device\\CdRom13", exists_ntdev, S_IFBLK, true},
- {"/dev/scd14", BRACK(FHDEV(DEV_CDROM_MAJOR, 14)), "\\Device\\CdRom14", exists_ntdev, S_IFBLK, true},
- {"/dev/scd15", BRACK(FHDEV(DEV_CDROM_MAJOR, 15)), "\\Device\\CdRom15", exists_ntdev, S_IFBLK, true},
- {"/dev/sda", BRACK(FH_SDA), "\\Device\\Harddisk0\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb", BRACK(FH_SDB), "\\Device\\Harddisk1\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc", BRACK(FH_SDC), "\\Device\\Harddisk2\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd", BRACK(FH_SDD), "\\Device\\Harddisk3\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sde", BRACK(FH_SDE), "\\Device\\Harddisk4\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf", BRACK(FH_SDF), "\\Device\\Harddisk5\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg", BRACK(FH_SDG), "\\Device\\Harddisk6\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh", BRACK(FH_SDH), "\\Device\\Harddisk7\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi", BRACK(FH_SDI), "\\Device\\Harddisk8\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj", BRACK(FH_SDJ), "\\Device\\Harddisk9\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk", BRACK(FH_SDK), "\\Device\\Harddisk10\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl", BRACK(FH_SDL), "\\Device\\Harddisk11\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm", BRACK(FH_SDM), "\\Device\\Harddisk12\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn", BRACK(FH_SDN), "\\Device\\Harddisk13\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo", BRACK(FH_SDO), "\\Device\\Harddisk14\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp", BRACK(FH_SDP), "\\Device\\Harddisk15\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq", BRACK(FH_SDQ), "\\Device\\Harddisk16\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr", BRACK(FH_SDR), "\\Device\\Harddisk17\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sds", BRACK(FH_SDS), "\\Device\\Harddisk18\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt", BRACK(FH_SDT), "\\Device\\Harddisk19\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu", BRACK(FH_SDU), "\\Device\\Harddisk20\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv", BRACK(FH_SDV), "\\Device\\Harddisk21\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw", BRACK(FH_SDW), "\\Device\\Harddisk22\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx", BRACK(FH_SDX), "\\Device\\Harddisk23\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy", BRACK(FH_SDY), "\\Device\\Harddisk24\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz", BRACK(FH_SDZ), "\\Device\\Harddisk25\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sda1", BRACK(FH_SDA | 1), "\\Device\\Harddisk0\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sda2", BRACK(FH_SDA | 2), "\\Device\\Harddisk0\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sda3", BRACK(FH_SDA | 3), "\\Device\\Harddisk0\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sda4", BRACK(FH_SDA | 4), "\\Device\\Harddisk0\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sda5", BRACK(FH_SDA | 5), "\\Device\\Harddisk0\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sda6", BRACK(FH_SDA | 6), "\\Device\\Harddisk0\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sda7", BRACK(FH_SDA | 7), "\\Device\\Harddisk0\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sda8", BRACK(FH_SDA | 8), "\\Device\\Harddisk0\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sda9", BRACK(FH_SDA | 9), "\\Device\\Harddisk0\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sda10", BRACK(FH_SDA | 10), "\\Device\\Harddisk0\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sda11", BRACK(FH_SDA | 11), "\\Device\\Harddisk0\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sda12", BRACK(FH_SDA | 12), "\\Device\\Harddisk0\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sda13", BRACK(FH_SDA | 13), "\\Device\\Harddisk0\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sda14", BRACK(FH_SDA | 14), "\\Device\\Harddisk0\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sda15", BRACK(FH_SDA | 15), "\\Device\\Harddisk0\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb1", BRACK(FH_SDB | 1), "\\Device\\Harddisk1\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb2", BRACK(FH_SDB | 2), "\\Device\\Harddisk1\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb3", BRACK(FH_SDB | 3), "\\Device\\Harddisk1\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb4", BRACK(FH_SDB | 4), "\\Device\\Harddisk1\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb5", BRACK(FH_SDB | 5), "\\Device\\Harddisk1\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb6", BRACK(FH_SDB | 6), "\\Device\\Harddisk1\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb7", BRACK(FH_SDB | 7), "\\Device\\Harddisk1\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb8", BRACK(FH_SDB | 8), "\\Device\\Harddisk1\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb9", BRACK(FH_SDB | 9), "\\Device\\Harddisk1\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb10", BRACK(FH_SDB | 10), "\\Device\\Harddisk1\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb11", BRACK(FH_SDB | 11), "\\Device\\Harddisk1\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb12", BRACK(FH_SDB | 12), "\\Device\\Harddisk1\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb13", BRACK(FH_SDB | 13), "\\Device\\Harddisk1\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb14", BRACK(FH_SDB | 14), "\\Device\\Harddisk1\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdb15", BRACK(FH_SDB | 15), "\\Device\\Harddisk1\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc1", BRACK(FH_SDC | 1), "\\Device\\Harddisk2\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc2", BRACK(FH_SDC | 2), "\\Device\\Harddisk2\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc3", BRACK(FH_SDC | 3), "\\Device\\Harddisk2\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc4", BRACK(FH_SDC | 4), "\\Device\\Harddisk2\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc5", BRACK(FH_SDC | 5), "\\Device\\Harddisk2\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc6", BRACK(FH_SDC | 6), "\\Device\\Harddisk2\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc7", BRACK(FH_SDC | 7), "\\Device\\Harddisk2\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc8", BRACK(FH_SDC | 8), "\\Device\\Harddisk2\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc9", BRACK(FH_SDC | 9), "\\Device\\Harddisk2\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc10", BRACK(FH_SDC | 10), "\\Device\\Harddisk2\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc11", BRACK(FH_SDC | 11), "\\Device\\Harddisk2\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc12", BRACK(FH_SDC | 12), "\\Device\\Harddisk2\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc13", BRACK(FH_SDC | 13), "\\Device\\Harddisk2\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc14", BRACK(FH_SDC | 14), "\\Device\\Harddisk2\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdc15", BRACK(FH_SDC | 15), "\\Device\\Harddisk2\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd1", BRACK(FH_SDD | 1), "\\Device\\Harddisk3\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd2", BRACK(FH_SDD | 2), "\\Device\\Harddisk3\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd3", BRACK(FH_SDD | 3), "\\Device\\Harddisk3\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd4", BRACK(FH_SDD | 4), "\\Device\\Harddisk3\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd5", BRACK(FH_SDD | 5), "\\Device\\Harddisk3\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd6", BRACK(FH_SDD | 6), "\\Device\\Harddisk3\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd7", BRACK(FH_SDD | 7), "\\Device\\Harddisk3\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd8", BRACK(FH_SDD | 8), "\\Device\\Harddisk3\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd9", BRACK(FH_SDD | 9), "\\Device\\Harddisk3\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd10", BRACK(FH_SDD | 10), "\\Device\\Harddisk3\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd11", BRACK(FH_SDD | 11), "\\Device\\Harddisk3\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd12", BRACK(FH_SDD | 12), "\\Device\\Harddisk3\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd13", BRACK(FH_SDD | 13), "\\Device\\Harddisk3\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd14", BRACK(FH_SDD | 14), "\\Device\\Harddisk3\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdd15", BRACK(FH_SDD | 15), "\\Device\\Harddisk3\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sde1", BRACK(FH_SDE | 1), "\\Device\\Harddisk4\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sde2", BRACK(FH_SDE | 2), "\\Device\\Harddisk4\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sde3", BRACK(FH_SDE | 3), "\\Device\\Harddisk4\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sde4", BRACK(FH_SDE | 4), "\\Device\\Harddisk4\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sde5", BRACK(FH_SDE | 5), "\\Device\\Harddisk4\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sde6", BRACK(FH_SDE | 6), "\\Device\\Harddisk4\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sde7", BRACK(FH_SDE | 7), "\\Device\\Harddisk4\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sde8", BRACK(FH_SDE | 8), "\\Device\\Harddisk4\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sde9", BRACK(FH_SDE | 9), "\\Device\\Harddisk4\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sde10", BRACK(FH_SDE | 10), "\\Device\\Harddisk4\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sde11", BRACK(FH_SDE | 11), "\\Device\\Harddisk4\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sde12", BRACK(FH_SDE | 12), "\\Device\\Harddisk4\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sde13", BRACK(FH_SDE | 13), "\\Device\\Harddisk4\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sde14", BRACK(FH_SDE | 14), "\\Device\\Harddisk4\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sde15", BRACK(FH_SDE | 15), "\\Device\\Harddisk4\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf1", BRACK(FH_SDF | 1), "\\Device\\Harddisk5\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf2", BRACK(FH_SDF | 2), "\\Device\\Harddisk5\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf3", BRACK(FH_SDF | 3), "\\Device\\Harddisk5\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf4", BRACK(FH_SDF | 4), "\\Device\\Harddisk5\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf5", BRACK(FH_SDF | 5), "\\Device\\Harddisk5\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf6", BRACK(FH_SDF | 6), "\\Device\\Harddisk5\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf7", BRACK(FH_SDF | 7), "\\Device\\Harddisk5\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf8", BRACK(FH_SDF | 8), "\\Device\\Harddisk5\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf9", BRACK(FH_SDF | 9), "\\Device\\Harddisk5\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf10", BRACK(FH_SDF | 10), "\\Device\\Harddisk5\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf11", BRACK(FH_SDF | 11), "\\Device\\Harddisk5\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf12", BRACK(FH_SDF | 12), "\\Device\\Harddisk5\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf13", BRACK(FH_SDF | 13), "\\Device\\Harddisk5\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf14", BRACK(FH_SDF | 14), "\\Device\\Harddisk5\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdf15", BRACK(FH_SDF | 15), "\\Device\\Harddisk5\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg1", BRACK(FH_SDG | 1), "\\Device\\Harddisk6\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg2", BRACK(FH_SDG | 2), "\\Device\\Harddisk6\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg3", BRACK(FH_SDG | 3), "\\Device\\Harddisk6\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg4", BRACK(FH_SDG | 4), "\\Device\\Harddisk6\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg5", BRACK(FH_SDG | 5), "\\Device\\Harddisk6\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg6", BRACK(FH_SDG | 6), "\\Device\\Harddisk6\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg7", BRACK(FH_SDG | 7), "\\Device\\Harddisk6\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg8", BRACK(FH_SDG | 8), "\\Device\\Harddisk6\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg9", BRACK(FH_SDG | 9), "\\Device\\Harddisk6\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg10", BRACK(FH_SDG | 10), "\\Device\\Harddisk6\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg11", BRACK(FH_SDG | 11), "\\Device\\Harddisk6\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg12", BRACK(FH_SDG | 12), "\\Device\\Harddisk6\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg13", BRACK(FH_SDG | 13), "\\Device\\Harddisk6\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg14", BRACK(FH_SDG | 14), "\\Device\\Harddisk6\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdg15", BRACK(FH_SDG | 15), "\\Device\\Harddisk6\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh1", BRACK(FH_SDH | 1), "\\Device\\Harddisk7\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh2", BRACK(FH_SDH | 2), "\\Device\\Harddisk7\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh3", BRACK(FH_SDH | 3), "\\Device\\Harddisk7\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh4", BRACK(FH_SDH | 4), "\\Device\\Harddisk7\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh5", BRACK(FH_SDH | 5), "\\Device\\Harddisk7\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh6", BRACK(FH_SDH | 6), "\\Device\\Harddisk7\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh7", BRACK(FH_SDH | 7), "\\Device\\Harddisk7\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh8", BRACK(FH_SDH | 8), "\\Device\\Harddisk7\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh9", BRACK(FH_SDH | 9), "\\Device\\Harddisk7\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh10", BRACK(FH_SDH | 10), "\\Device\\Harddisk7\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh11", BRACK(FH_SDH | 11), "\\Device\\Harddisk7\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh12", BRACK(FH_SDH | 12), "\\Device\\Harddisk7\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh13", BRACK(FH_SDH | 13), "\\Device\\Harddisk7\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh14", BRACK(FH_SDH | 14), "\\Device\\Harddisk7\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdh15", BRACK(FH_SDH | 15), "\\Device\\Harddisk7\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi1", BRACK(FH_SDI | 1), "\\Device\\Harddisk8\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi2", BRACK(FH_SDI | 2), "\\Device\\Harddisk8\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi3", BRACK(FH_SDI | 3), "\\Device\\Harddisk8\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi4", BRACK(FH_SDI | 4), "\\Device\\Harddisk8\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi5", BRACK(FH_SDI | 5), "\\Device\\Harddisk8\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi6", BRACK(FH_SDI | 6), "\\Device\\Harddisk8\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi7", BRACK(FH_SDI | 7), "\\Device\\Harddisk8\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi8", BRACK(FH_SDI | 8), "\\Device\\Harddisk8\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi9", BRACK(FH_SDI | 9), "\\Device\\Harddisk8\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi10", BRACK(FH_SDI | 10), "\\Device\\Harddisk8\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi11", BRACK(FH_SDI | 11), "\\Device\\Harddisk8\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi12", BRACK(FH_SDI | 12), "\\Device\\Harddisk8\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi13", BRACK(FH_SDI | 13), "\\Device\\Harddisk8\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi14", BRACK(FH_SDI | 14), "\\Device\\Harddisk8\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdi15", BRACK(FH_SDI | 15), "\\Device\\Harddisk8\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj1", BRACK(FH_SDJ | 1), "\\Device\\Harddisk9\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj2", BRACK(FH_SDJ | 2), "\\Device\\Harddisk9\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj3", BRACK(FH_SDJ | 3), "\\Device\\Harddisk9\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj4", BRACK(FH_SDJ | 4), "\\Device\\Harddisk9\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj5", BRACK(FH_SDJ | 5), "\\Device\\Harddisk9\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj6", BRACK(FH_SDJ | 6), "\\Device\\Harddisk9\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj7", BRACK(FH_SDJ | 7), "\\Device\\Harddisk9\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj8", BRACK(FH_SDJ | 8), "\\Device\\Harddisk9\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj9", BRACK(FH_SDJ | 9), "\\Device\\Harddisk9\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj10", BRACK(FH_SDJ | 10), "\\Device\\Harddisk9\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj11", BRACK(FH_SDJ | 11), "\\Device\\Harddisk9\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj12", BRACK(FH_SDJ | 12), "\\Device\\Harddisk9\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj13", BRACK(FH_SDJ | 13), "\\Device\\Harddisk9\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj14", BRACK(FH_SDJ | 14), "\\Device\\Harddisk9\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdj15", BRACK(FH_SDJ | 15), "\\Device\\Harddisk9\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk1", BRACK(FH_SDK | 1), "\\Device\\Harddisk10\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk2", BRACK(FH_SDK | 2), "\\Device\\Harddisk10\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk3", BRACK(FH_SDK | 3), "\\Device\\Harddisk10\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk4", BRACK(FH_SDK | 4), "\\Device\\Harddisk10\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk5", BRACK(FH_SDK | 5), "\\Device\\Harddisk10\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk6", BRACK(FH_SDK | 6), "\\Device\\Harddisk10\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk7", BRACK(FH_SDK | 7), "\\Device\\Harddisk10\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk8", BRACK(FH_SDK | 8), "\\Device\\Harddisk10\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk9", BRACK(FH_SDK | 9), "\\Device\\Harddisk10\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk10", BRACK(FH_SDK | 10), "\\Device\\Harddisk10\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk11", BRACK(FH_SDK | 11), "\\Device\\Harddisk10\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk12", BRACK(FH_SDK | 12), "\\Device\\Harddisk10\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk13", BRACK(FH_SDK | 13), "\\Device\\Harddisk10\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk14", BRACK(FH_SDK | 14), "\\Device\\Harddisk10\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdk15", BRACK(FH_SDK | 15), "\\Device\\Harddisk10\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl1", BRACK(FH_SDL | 1), "\\Device\\Harddisk11\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl2", BRACK(FH_SDL | 2), "\\Device\\Harddisk11\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl3", BRACK(FH_SDL | 3), "\\Device\\Harddisk11\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl4", BRACK(FH_SDL | 4), "\\Device\\Harddisk11\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl5", BRACK(FH_SDL | 5), "\\Device\\Harddisk11\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl6", BRACK(FH_SDL | 6), "\\Device\\Harddisk11\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl7", BRACK(FH_SDL | 7), "\\Device\\Harddisk11\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl8", BRACK(FH_SDL | 8), "\\Device\\Harddisk11\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl9", BRACK(FH_SDL | 9), "\\Device\\Harddisk11\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl10", BRACK(FH_SDL | 10), "\\Device\\Harddisk11\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl11", BRACK(FH_SDL | 11), "\\Device\\Harddisk11\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl12", BRACK(FH_SDL | 12), "\\Device\\Harddisk11\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl13", BRACK(FH_SDL | 13), "\\Device\\Harddisk11\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl14", BRACK(FH_SDL | 14), "\\Device\\Harddisk11\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdl15", BRACK(FH_SDL | 15), "\\Device\\Harddisk11\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm1", BRACK(FH_SDM | 1), "\\Device\\Harddisk12\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm2", BRACK(FH_SDM | 2), "\\Device\\Harddisk12\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm3", BRACK(FH_SDM | 3), "\\Device\\Harddisk12\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm4", BRACK(FH_SDM | 4), "\\Device\\Harddisk12\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm5", BRACK(FH_SDM | 5), "\\Device\\Harddisk12\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm6", BRACK(FH_SDM | 6), "\\Device\\Harddisk12\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm7", BRACK(FH_SDM | 7), "\\Device\\Harddisk12\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm8", BRACK(FH_SDM | 8), "\\Device\\Harddisk12\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm9", BRACK(FH_SDM | 9), "\\Device\\Harddisk12\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm10", BRACK(FH_SDM | 10), "\\Device\\Harddisk12\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm11", BRACK(FH_SDM | 11), "\\Device\\Harddisk12\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm12", BRACK(FH_SDM | 12), "\\Device\\Harddisk12\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm13", BRACK(FH_SDM | 13), "\\Device\\Harddisk12\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm14", BRACK(FH_SDM | 14), "\\Device\\Harddisk12\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdm15", BRACK(FH_SDM | 15), "\\Device\\Harddisk12\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn1", BRACK(FH_SDN | 1), "\\Device\\Harddisk13\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn2", BRACK(FH_SDN | 2), "\\Device\\Harddisk13\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn3", BRACK(FH_SDN | 3), "\\Device\\Harddisk13\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn4", BRACK(FH_SDN | 4), "\\Device\\Harddisk13\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn5", BRACK(FH_SDN | 5), "\\Device\\Harddisk13\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn6", BRACK(FH_SDN | 6), "\\Device\\Harddisk13\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn7", BRACK(FH_SDN | 7), "\\Device\\Harddisk13\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn8", BRACK(FH_SDN | 8), "\\Device\\Harddisk13\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn9", BRACK(FH_SDN | 9), "\\Device\\Harddisk13\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn10", BRACK(FH_SDN | 10), "\\Device\\Harddisk13\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn11", BRACK(FH_SDN | 11), "\\Device\\Harddisk13\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn12", BRACK(FH_SDN | 12), "\\Device\\Harddisk13\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn13", BRACK(FH_SDN | 13), "\\Device\\Harddisk13\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn14", BRACK(FH_SDN | 14), "\\Device\\Harddisk13\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdn15", BRACK(FH_SDN | 15), "\\Device\\Harddisk13\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo1", BRACK(FH_SDO | 1), "\\Device\\Harddisk14\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo2", BRACK(FH_SDO | 2), "\\Device\\Harddisk14\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo3", BRACK(FH_SDO | 3), "\\Device\\Harddisk14\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo4", BRACK(FH_SDO | 4), "\\Device\\Harddisk14\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo5", BRACK(FH_SDO | 5), "\\Device\\Harddisk14\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo6", BRACK(FH_SDO | 6), "\\Device\\Harddisk14\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo7", BRACK(FH_SDO | 7), "\\Device\\Harddisk14\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo8", BRACK(FH_SDO | 8), "\\Device\\Harddisk14\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo9", BRACK(FH_SDO | 9), "\\Device\\Harddisk14\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo10", BRACK(FH_SDO | 10), "\\Device\\Harddisk14\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo11", BRACK(FH_SDO | 11), "\\Device\\Harddisk14\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo12", BRACK(FH_SDO | 12), "\\Device\\Harddisk14\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo13", BRACK(FH_SDO | 13), "\\Device\\Harddisk14\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo14", BRACK(FH_SDO | 14), "\\Device\\Harddisk14\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdo15", BRACK(FH_SDO | 15), "\\Device\\Harddisk14\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp1", BRACK(FH_SDP | 1), "\\Device\\Harddisk15\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp2", BRACK(FH_SDP | 2), "\\Device\\Harddisk15\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp3", BRACK(FH_SDP | 3), "\\Device\\Harddisk15\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp4", BRACK(FH_SDP | 4), "\\Device\\Harddisk15\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp5", BRACK(FH_SDP | 5), "\\Device\\Harddisk15\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp6", BRACK(FH_SDP | 6), "\\Device\\Harddisk15\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp7", BRACK(FH_SDP | 7), "\\Device\\Harddisk15\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp8", BRACK(FH_SDP | 8), "\\Device\\Harddisk15\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp9", BRACK(FH_SDP | 9), "\\Device\\Harddisk15\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp10", BRACK(FH_SDP | 10), "\\Device\\Harddisk15\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp11", BRACK(FH_SDP | 11), "\\Device\\Harddisk15\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp12", BRACK(FH_SDP | 12), "\\Device\\Harddisk15\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp13", BRACK(FH_SDP | 13), "\\Device\\Harddisk15\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp14", BRACK(FH_SDP | 14), "\\Device\\Harddisk15\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdp15", BRACK(FH_SDP | 15), "\\Device\\Harddisk15\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq1", BRACK(FH_SDQ | 1), "\\Device\\Harddisk16\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq2", BRACK(FH_SDQ | 2), "\\Device\\Harddisk16\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq3", BRACK(FH_SDQ | 3), "\\Device\\Harddisk16\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq4", BRACK(FH_SDQ | 4), "\\Device\\Harddisk16\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq5", BRACK(FH_SDQ | 5), "\\Device\\Harddisk16\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq6", BRACK(FH_SDQ | 6), "\\Device\\Harddisk16\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq7", BRACK(FH_SDQ | 7), "\\Device\\Harddisk16\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq8", BRACK(FH_SDQ | 8), "\\Device\\Harddisk16\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq9", BRACK(FH_SDQ | 9), "\\Device\\Harddisk16\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq10", BRACK(FH_SDQ | 10), "\\Device\\Harddisk16\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq11", BRACK(FH_SDQ | 11), "\\Device\\Harddisk16\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq12", BRACK(FH_SDQ | 12), "\\Device\\Harddisk16\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq13", BRACK(FH_SDQ | 13), "\\Device\\Harddisk16\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq14", BRACK(FH_SDQ | 14), "\\Device\\Harddisk16\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdq15", BRACK(FH_SDQ | 15), "\\Device\\Harddisk16\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr1", BRACK(FH_SDR | 1), "\\Device\\Harddisk17\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr2", BRACK(FH_SDR | 2), "\\Device\\Harddisk17\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr3", BRACK(FH_SDR | 3), "\\Device\\Harddisk17\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr4", BRACK(FH_SDR | 4), "\\Device\\Harddisk17\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr5", BRACK(FH_SDR | 5), "\\Device\\Harddisk17\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr6", BRACK(FH_SDR | 6), "\\Device\\Harddisk17\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr7", BRACK(FH_SDR | 7), "\\Device\\Harddisk17\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr8", BRACK(FH_SDR | 8), "\\Device\\Harddisk17\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr9", BRACK(FH_SDR | 9), "\\Device\\Harddisk17\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr10", BRACK(FH_SDR | 10), "\\Device\\Harddisk17\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr11", BRACK(FH_SDR | 11), "\\Device\\Harddisk17\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr12", BRACK(FH_SDR | 12), "\\Device\\Harddisk17\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr13", BRACK(FH_SDR | 13), "\\Device\\Harddisk17\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr14", BRACK(FH_SDR | 14), "\\Device\\Harddisk17\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdr15", BRACK(FH_SDR | 15), "\\Device\\Harddisk17\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sds1", BRACK(FH_SDS | 1), "\\Device\\Harddisk18\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sds2", BRACK(FH_SDS | 2), "\\Device\\Harddisk18\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sds3", BRACK(FH_SDS | 3), "\\Device\\Harddisk18\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sds4", BRACK(FH_SDS | 4), "\\Device\\Harddisk18\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sds5", BRACK(FH_SDS | 5), "\\Device\\Harddisk18\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sds6", BRACK(FH_SDS | 6), "\\Device\\Harddisk18\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sds7", BRACK(FH_SDS | 7), "\\Device\\Harddisk18\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sds8", BRACK(FH_SDS | 8), "\\Device\\Harddisk18\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sds9", BRACK(FH_SDS | 9), "\\Device\\Harddisk18\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sds10", BRACK(FH_SDS | 10), "\\Device\\Harddisk18\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sds11", BRACK(FH_SDS | 11), "\\Device\\Harddisk18\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sds12", BRACK(FH_SDS | 12), "\\Device\\Harddisk18\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sds13", BRACK(FH_SDS | 13), "\\Device\\Harddisk18\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sds14", BRACK(FH_SDS | 14), "\\Device\\Harddisk18\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sds15", BRACK(FH_SDS | 15), "\\Device\\Harddisk18\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt1", BRACK(FH_SDT | 1), "\\Device\\Harddisk19\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt2", BRACK(FH_SDT | 2), "\\Device\\Harddisk19\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt3", BRACK(FH_SDT | 3), "\\Device\\Harddisk19\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt4", BRACK(FH_SDT | 4), "\\Device\\Harddisk19\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt5", BRACK(FH_SDT | 5), "\\Device\\Harddisk19\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt6", BRACK(FH_SDT | 6), "\\Device\\Harddisk19\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt7", BRACK(FH_SDT | 7), "\\Device\\Harddisk19\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt8", BRACK(FH_SDT | 8), "\\Device\\Harddisk19\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt9", BRACK(FH_SDT | 9), "\\Device\\Harddisk19\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt10", BRACK(FH_SDT | 10), "\\Device\\Harddisk19\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt11", BRACK(FH_SDT | 11), "\\Device\\Harddisk19\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt12", BRACK(FH_SDT | 12), "\\Device\\Harddisk19\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt13", BRACK(FH_SDT | 13), "\\Device\\Harddisk19\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt14", BRACK(FH_SDT | 14), "\\Device\\Harddisk19\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdt15", BRACK(FH_SDT | 15), "\\Device\\Harddisk19\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu1", BRACK(FH_SDU | 1), "\\Device\\Harddisk20\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu2", BRACK(FH_SDU | 2), "\\Device\\Harddisk20\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu3", BRACK(FH_SDU | 3), "\\Device\\Harddisk20\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu4", BRACK(FH_SDU | 4), "\\Device\\Harddisk20\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu5", BRACK(FH_SDU | 5), "\\Device\\Harddisk20\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu6", BRACK(FH_SDU | 6), "\\Device\\Harddisk20\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu7", BRACK(FH_SDU | 7), "\\Device\\Harddisk20\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu8", BRACK(FH_SDU | 8), "\\Device\\Harddisk20\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu9", BRACK(FH_SDU | 9), "\\Device\\Harddisk20\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu10", BRACK(FH_SDU | 10), "\\Device\\Harddisk20\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu11", BRACK(FH_SDU | 11), "\\Device\\Harddisk20\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu12", BRACK(FH_SDU | 12), "\\Device\\Harddisk20\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu13", BRACK(FH_SDU | 13), "\\Device\\Harddisk20\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu14", BRACK(FH_SDU | 14), "\\Device\\Harddisk20\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdu15", BRACK(FH_SDU | 15), "\\Device\\Harddisk20\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv1", BRACK(FH_SDV | 1), "\\Device\\Harddisk21\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv2", BRACK(FH_SDV | 2), "\\Device\\Harddisk21\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv3", BRACK(FH_SDV | 3), "\\Device\\Harddisk21\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv4", BRACK(FH_SDV | 4), "\\Device\\Harddisk21\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv5", BRACK(FH_SDV | 5), "\\Device\\Harddisk21\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv6", BRACK(FH_SDV | 6), "\\Device\\Harddisk21\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv7", BRACK(FH_SDV | 7), "\\Device\\Harddisk21\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv8", BRACK(FH_SDV | 8), "\\Device\\Harddisk21\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv9", BRACK(FH_SDV | 9), "\\Device\\Harddisk21\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv10", BRACK(FH_SDV | 10), "\\Device\\Harddisk21\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv11", BRACK(FH_SDV | 11), "\\Device\\Harddisk21\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv12", BRACK(FH_SDV | 12), "\\Device\\Harddisk21\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv13", BRACK(FH_SDV | 13), "\\Device\\Harddisk21\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv14", BRACK(FH_SDV | 14), "\\Device\\Harddisk21\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdv15", BRACK(FH_SDV | 15), "\\Device\\Harddisk21\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw1", BRACK(FH_SDW | 1), "\\Device\\Harddisk22\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw2", BRACK(FH_SDW | 2), "\\Device\\Harddisk22\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw3", BRACK(FH_SDW | 3), "\\Device\\Harddisk22\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw4", BRACK(FH_SDW | 4), "\\Device\\Harddisk22\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw5", BRACK(FH_SDW | 5), "\\Device\\Harddisk22\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw6", BRACK(FH_SDW | 6), "\\Device\\Harddisk22\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw7", BRACK(FH_SDW | 7), "\\Device\\Harddisk22\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw8", BRACK(FH_SDW | 8), "\\Device\\Harddisk22\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw9", BRACK(FH_SDW | 9), "\\Device\\Harddisk22\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw10", BRACK(FH_SDW | 10), "\\Device\\Harddisk22\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw11", BRACK(FH_SDW | 11), "\\Device\\Harddisk22\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw12", BRACK(FH_SDW | 12), "\\Device\\Harddisk22\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw13", BRACK(FH_SDW | 13), "\\Device\\Harddisk22\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw14", BRACK(FH_SDW | 14), "\\Device\\Harddisk22\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdw15", BRACK(FH_SDW | 15), "\\Device\\Harddisk22\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx1", BRACK(FH_SDX | 1), "\\Device\\Harddisk23\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx2", BRACK(FH_SDX | 2), "\\Device\\Harddisk23\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx3", BRACK(FH_SDX | 3), "\\Device\\Harddisk23\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx4", BRACK(FH_SDX | 4), "\\Device\\Harddisk23\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx5", BRACK(FH_SDX | 5), "\\Device\\Harddisk23\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx6", BRACK(FH_SDX | 6), "\\Device\\Harddisk23\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx7", BRACK(FH_SDX | 7), "\\Device\\Harddisk23\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx8", BRACK(FH_SDX | 8), "\\Device\\Harddisk23\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx9", BRACK(FH_SDX | 9), "\\Device\\Harddisk23\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx10", BRACK(FH_SDX | 10), "\\Device\\Harddisk23\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx11", BRACK(FH_SDX | 11), "\\Device\\Harddisk23\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx12", BRACK(FH_SDX | 12), "\\Device\\Harddisk23\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx13", BRACK(FH_SDX | 13), "\\Device\\Harddisk23\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx14", BRACK(FH_SDX | 14), "\\Device\\Harddisk23\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdx15", BRACK(FH_SDX | 15), "\\Device\\Harddisk23\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy1", BRACK(FH_SDY | 1), "\\Device\\Harddisk24\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy2", BRACK(FH_SDY | 2), "\\Device\\Harddisk24\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy3", BRACK(FH_SDY | 3), "\\Device\\Harddisk24\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy4", BRACK(FH_SDY | 4), "\\Device\\Harddisk24\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy5", BRACK(FH_SDY | 5), "\\Device\\Harddisk24\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy6", BRACK(FH_SDY | 6), "\\Device\\Harddisk24\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy7", BRACK(FH_SDY | 7), "\\Device\\Harddisk24\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy8", BRACK(FH_SDY | 8), "\\Device\\Harddisk24\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy9", BRACK(FH_SDY | 9), "\\Device\\Harddisk24\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy10", BRACK(FH_SDY | 10), "\\Device\\Harddisk24\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy11", BRACK(FH_SDY | 11), "\\Device\\Harddisk24\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy12", BRACK(FH_SDY | 12), "\\Device\\Harddisk24\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy13", BRACK(FH_SDY | 13), "\\Device\\Harddisk24\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy14", BRACK(FH_SDY | 14), "\\Device\\Harddisk24\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdy15", BRACK(FH_SDY | 15), "\\Device\\Harddisk24\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz1", BRACK(FH_SDZ | 1), "\\Device\\Harddisk25\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz2", BRACK(FH_SDZ | 2), "\\Device\\Harddisk25\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz3", BRACK(FH_SDZ | 3), "\\Device\\Harddisk25\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz4", BRACK(FH_SDZ | 4), "\\Device\\Harddisk25\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz5", BRACK(FH_SDZ | 5), "\\Device\\Harddisk25\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz6", BRACK(FH_SDZ | 6), "\\Device\\Harddisk25\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz7", BRACK(FH_SDZ | 7), "\\Device\\Harddisk25\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz8", BRACK(FH_SDZ | 8), "\\Device\\Harddisk25\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz9", BRACK(FH_SDZ | 9), "\\Device\\Harddisk25\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz10", BRACK(FH_SDZ | 10), "\\Device\\Harddisk25\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz11", BRACK(FH_SDZ | 11), "\\Device\\Harddisk25\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz12", BRACK(FH_SDZ | 12), "\\Device\\Harddisk25\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz13", BRACK(FH_SDZ | 13), "\\Device\\Harddisk25\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz14", BRACK(FH_SDZ | 14), "\\Device\\Harddisk25\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdz15", BRACK(FH_SDZ | 15), "\\Device\\Harddisk25\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa", BRACK(FH_SDAA), "\\Device\\Harddisk26\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab", BRACK(FH_SDAB), "\\Device\\Harddisk27\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac", BRACK(FH_SDAC), "\\Device\\Harddisk28\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad", BRACK(FH_SDAD), "\\Device\\Harddisk29\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae", BRACK(FH_SDAE), "\\Device\\Harddisk30\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf", BRACK(FH_SDAF), "\\Device\\Harddisk31\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag", BRACK(FH_SDAG), "\\Device\\Harddisk32\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah", BRACK(FH_SDAH), "\\Device\\Harddisk33\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai", BRACK(FH_SDAI), "\\Device\\Harddisk34\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj", BRACK(FH_SDAJ), "\\Device\\Harddisk35\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak", BRACK(FH_SDAK), "\\Device\\Harddisk36\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal", BRACK(FH_SDAL), "\\Device\\Harddisk37\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam", BRACK(FH_SDAM), "\\Device\\Harddisk38\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan", BRACK(FH_SDAN), "\\Device\\Harddisk39\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao", BRACK(FH_SDAO), "\\Device\\Harddisk40\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap", BRACK(FH_SDAP), "\\Device\\Harddisk41\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq", BRACK(FH_SDAQ), "\\Device\\Harddisk42\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar", BRACK(FH_SDAR), "\\Device\\Harddisk43\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas", BRACK(FH_SDAS), "\\Device\\Harddisk44\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat", BRACK(FH_SDAT), "\\Device\\Harddisk45\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau", BRACK(FH_SDAU), "\\Device\\Harddisk46\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav", BRACK(FH_SDAV), "\\Device\\Harddisk47\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw", BRACK(FH_SDAW), "\\Device\\Harddisk48\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax", BRACK(FH_SDAX), "\\Device\\Harddisk49\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sday", BRACK(FH_SDAY), "\\Device\\Harddisk50\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz", BRACK(FH_SDAZ), "\\Device\\Harddisk51\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa1", BRACK(FH_SDAA | 1), "\\Device\\Harddisk26\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa2", BRACK(FH_SDAA | 2), "\\Device\\Harddisk26\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa3", BRACK(FH_SDAA | 3), "\\Device\\Harddisk26\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa4", BRACK(FH_SDAA | 4), "\\Device\\Harddisk26\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa5", BRACK(FH_SDAA | 5), "\\Device\\Harddisk26\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa6", BRACK(FH_SDAA | 6), "\\Device\\Harddisk26\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa7", BRACK(FH_SDAA | 7), "\\Device\\Harddisk26\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa8", BRACK(FH_SDAA | 8), "\\Device\\Harddisk26\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa9", BRACK(FH_SDAA | 9), "\\Device\\Harddisk26\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa10", BRACK(FH_SDAA | 10), "\\Device\\Harddisk26\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa11", BRACK(FH_SDAA | 11), "\\Device\\Harddisk26\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa12", BRACK(FH_SDAA | 12), "\\Device\\Harddisk26\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa13", BRACK(FH_SDAA | 13), "\\Device\\Harddisk26\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa14", BRACK(FH_SDAA | 14), "\\Device\\Harddisk26\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaa15", BRACK(FH_SDAA | 15), "\\Device\\Harddisk26\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab1", BRACK(FH_SDAB | 1), "\\Device\\Harddisk27\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab2", BRACK(FH_SDAB | 2), "\\Device\\Harddisk27\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab3", BRACK(FH_SDAB | 3), "\\Device\\Harddisk27\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab4", BRACK(FH_SDAB | 4), "\\Device\\Harddisk27\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab5", BRACK(FH_SDAB | 5), "\\Device\\Harddisk27\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab6", BRACK(FH_SDAB | 6), "\\Device\\Harddisk27\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab7", BRACK(FH_SDAB | 7), "\\Device\\Harddisk27\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab8", BRACK(FH_SDAB | 8), "\\Device\\Harddisk27\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab9", BRACK(FH_SDAB | 9), "\\Device\\Harddisk27\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab10", BRACK(FH_SDAB | 10), "\\Device\\Harddisk27\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab11", BRACK(FH_SDAB | 11), "\\Device\\Harddisk27\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab12", BRACK(FH_SDAB | 12), "\\Device\\Harddisk27\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab13", BRACK(FH_SDAB | 13), "\\Device\\Harddisk27\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab14", BRACK(FH_SDAB | 14), "\\Device\\Harddisk27\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdab15", BRACK(FH_SDAB | 15), "\\Device\\Harddisk27\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac1", BRACK(FH_SDAC | 1), "\\Device\\Harddisk28\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac2", BRACK(FH_SDAC | 2), "\\Device\\Harddisk28\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac3", BRACK(FH_SDAC | 3), "\\Device\\Harddisk28\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac4", BRACK(FH_SDAC | 4), "\\Device\\Harddisk28\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac5", BRACK(FH_SDAC | 5), "\\Device\\Harddisk28\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac6", BRACK(FH_SDAC | 6), "\\Device\\Harddisk28\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac7", BRACK(FH_SDAC | 7), "\\Device\\Harddisk28\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac8", BRACK(FH_SDAC | 8), "\\Device\\Harddisk28\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac9", BRACK(FH_SDAC | 9), "\\Device\\Harddisk28\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac10", BRACK(FH_SDAC | 10), "\\Device\\Harddisk28\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac11", BRACK(FH_SDAC | 11), "\\Device\\Harddisk28\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac12", BRACK(FH_SDAC | 12), "\\Device\\Harddisk28\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac13", BRACK(FH_SDAC | 13), "\\Device\\Harddisk28\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac14", BRACK(FH_SDAC | 14), "\\Device\\Harddisk28\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdac15", BRACK(FH_SDAC | 15), "\\Device\\Harddisk28\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad1", BRACK(FH_SDAD | 1), "\\Device\\Harddisk29\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad2", BRACK(FH_SDAD | 2), "\\Device\\Harddisk29\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad3", BRACK(FH_SDAD | 3), "\\Device\\Harddisk29\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad4", BRACK(FH_SDAD | 4), "\\Device\\Harddisk29\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad5", BRACK(FH_SDAD | 5), "\\Device\\Harddisk29\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad6", BRACK(FH_SDAD | 6), "\\Device\\Harddisk29\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad7", BRACK(FH_SDAD | 7), "\\Device\\Harddisk29\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad8", BRACK(FH_SDAD | 8), "\\Device\\Harddisk29\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad9", BRACK(FH_SDAD | 9), "\\Device\\Harddisk29\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad10", BRACK(FH_SDAD | 10), "\\Device\\Harddisk29\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad11", BRACK(FH_SDAD | 11), "\\Device\\Harddisk29\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad12", BRACK(FH_SDAD | 12), "\\Device\\Harddisk29\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad13", BRACK(FH_SDAD | 13), "\\Device\\Harddisk29\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad14", BRACK(FH_SDAD | 14), "\\Device\\Harddisk29\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdad15", BRACK(FH_SDAD | 15), "\\Device\\Harddisk29\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae1", BRACK(FH_SDAE | 1), "\\Device\\Harddisk30\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae2", BRACK(FH_SDAE | 2), "\\Device\\Harddisk30\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae3", BRACK(FH_SDAE | 3), "\\Device\\Harddisk30\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae4", BRACK(FH_SDAE | 4), "\\Device\\Harddisk30\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae5", BRACK(FH_SDAE | 5), "\\Device\\Harddisk30\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae6", BRACK(FH_SDAE | 6), "\\Device\\Harddisk30\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae7", BRACK(FH_SDAE | 7), "\\Device\\Harddisk30\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae8", BRACK(FH_SDAE | 8), "\\Device\\Harddisk30\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae9", BRACK(FH_SDAE | 9), "\\Device\\Harddisk30\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae10", BRACK(FH_SDAE | 10), "\\Device\\Harddisk30\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae11", BRACK(FH_SDAE | 11), "\\Device\\Harddisk30\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae12", BRACK(FH_SDAE | 12), "\\Device\\Harddisk30\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae13", BRACK(FH_SDAE | 13), "\\Device\\Harddisk30\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae14", BRACK(FH_SDAE | 14), "\\Device\\Harddisk30\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdae15", BRACK(FH_SDAE | 15), "\\Device\\Harddisk30\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf1", BRACK(FH_SDAF | 1), "\\Device\\Harddisk31\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf2", BRACK(FH_SDAF | 2), "\\Device\\Harddisk31\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf3", BRACK(FH_SDAF | 3), "\\Device\\Harddisk31\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf4", BRACK(FH_SDAF | 4), "\\Device\\Harddisk31\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf5", BRACK(FH_SDAF | 5), "\\Device\\Harddisk31\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf6", BRACK(FH_SDAF | 6), "\\Device\\Harddisk31\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf7", BRACK(FH_SDAF | 7), "\\Device\\Harddisk31\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf8", BRACK(FH_SDAF | 8), "\\Device\\Harddisk31\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf9", BRACK(FH_SDAF | 9), "\\Device\\Harddisk31\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf10", BRACK(FH_SDAF | 10), "\\Device\\Harddisk31\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf11", BRACK(FH_SDAF | 11), "\\Device\\Harddisk31\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf12", BRACK(FH_SDAF | 12), "\\Device\\Harddisk31\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf13", BRACK(FH_SDAF | 13), "\\Device\\Harddisk31\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf14", BRACK(FH_SDAF | 14), "\\Device\\Harddisk31\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaf15", BRACK(FH_SDAF | 15), "\\Device\\Harddisk31\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag1", BRACK(FH_SDAG | 1), "\\Device\\Harddisk32\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag2", BRACK(FH_SDAG | 2), "\\Device\\Harddisk32\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag3", BRACK(FH_SDAG | 3), "\\Device\\Harddisk32\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag4", BRACK(FH_SDAG | 4), "\\Device\\Harddisk32\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag5", BRACK(FH_SDAG | 5), "\\Device\\Harddisk32\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag6", BRACK(FH_SDAG | 6), "\\Device\\Harddisk32\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag7", BRACK(FH_SDAG | 7), "\\Device\\Harddisk32\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag8", BRACK(FH_SDAG | 8), "\\Device\\Harddisk32\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag9", BRACK(FH_SDAG | 9), "\\Device\\Harddisk32\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag10", BRACK(FH_SDAG | 10), "\\Device\\Harddisk32\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag11", BRACK(FH_SDAG | 11), "\\Device\\Harddisk32\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag12", BRACK(FH_SDAG | 12), "\\Device\\Harddisk32\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag13", BRACK(FH_SDAG | 13), "\\Device\\Harddisk32\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag14", BRACK(FH_SDAG | 14), "\\Device\\Harddisk32\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdag15", BRACK(FH_SDAG | 15), "\\Device\\Harddisk32\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah1", BRACK(FH_SDAH | 1), "\\Device\\Harddisk33\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah2", BRACK(FH_SDAH | 2), "\\Device\\Harddisk33\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah3", BRACK(FH_SDAH | 3), "\\Device\\Harddisk33\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah4", BRACK(FH_SDAH | 4), "\\Device\\Harddisk33\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah5", BRACK(FH_SDAH | 5), "\\Device\\Harddisk33\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah6", BRACK(FH_SDAH | 6), "\\Device\\Harddisk33\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah7", BRACK(FH_SDAH | 7), "\\Device\\Harddisk33\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah8", BRACK(FH_SDAH | 8), "\\Device\\Harddisk33\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah9", BRACK(FH_SDAH | 9), "\\Device\\Harddisk33\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah10", BRACK(FH_SDAH | 10), "\\Device\\Harddisk33\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah11", BRACK(FH_SDAH | 11), "\\Device\\Harddisk33\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah12", BRACK(FH_SDAH | 12), "\\Device\\Harddisk33\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah13", BRACK(FH_SDAH | 13), "\\Device\\Harddisk33\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah14", BRACK(FH_SDAH | 14), "\\Device\\Harddisk33\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdah15", BRACK(FH_SDAH | 15), "\\Device\\Harddisk33\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai1", BRACK(FH_SDAI | 1), "\\Device\\Harddisk34\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai2", BRACK(FH_SDAI | 2), "\\Device\\Harddisk34\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai3", BRACK(FH_SDAI | 3), "\\Device\\Harddisk34\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai4", BRACK(FH_SDAI | 4), "\\Device\\Harddisk34\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai5", BRACK(FH_SDAI | 5), "\\Device\\Harddisk34\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai6", BRACK(FH_SDAI | 6), "\\Device\\Harddisk34\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai7", BRACK(FH_SDAI | 7), "\\Device\\Harddisk34\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai8", BRACK(FH_SDAI | 8), "\\Device\\Harddisk34\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai9", BRACK(FH_SDAI | 9), "\\Device\\Harddisk34\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai10", BRACK(FH_SDAI | 10), "\\Device\\Harddisk34\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai11", BRACK(FH_SDAI | 11), "\\Device\\Harddisk34\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai12", BRACK(FH_SDAI | 12), "\\Device\\Harddisk34\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai13", BRACK(FH_SDAI | 13), "\\Device\\Harddisk34\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai14", BRACK(FH_SDAI | 14), "\\Device\\Harddisk34\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdai15", BRACK(FH_SDAI | 15), "\\Device\\Harddisk34\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj1", BRACK(FH_SDAJ | 1), "\\Device\\Harddisk35\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj2", BRACK(FH_SDAJ | 2), "\\Device\\Harddisk35\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj3", BRACK(FH_SDAJ | 3), "\\Device\\Harddisk35\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj4", BRACK(FH_SDAJ | 4), "\\Device\\Harddisk35\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj5", BRACK(FH_SDAJ | 5), "\\Device\\Harddisk35\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj6", BRACK(FH_SDAJ | 6), "\\Device\\Harddisk35\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj7", BRACK(FH_SDAJ | 7), "\\Device\\Harddisk35\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj8", BRACK(FH_SDAJ | 8), "\\Device\\Harddisk35\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj9", BRACK(FH_SDAJ | 9), "\\Device\\Harddisk35\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj10", BRACK(FH_SDAJ | 10), "\\Device\\Harddisk35\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj11", BRACK(FH_SDAJ | 11), "\\Device\\Harddisk35\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj12", BRACK(FH_SDAJ | 12), "\\Device\\Harddisk35\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj13", BRACK(FH_SDAJ | 13), "\\Device\\Harddisk35\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj14", BRACK(FH_SDAJ | 14), "\\Device\\Harddisk35\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaj15", BRACK(FH_SDAJ | 15), "\\Device\\Harddisk35\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak1", BRACK(FH_SDAK | 1), "\\Device\\Harddisk36\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak2", BRACK(FH_SDAK | 2), "\\Device\\Harddisk36\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak3", BRACK(FH_SDAK | 3), "\\Device\\Harddisk36\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak4", BRACK(FH_SDAK | 4), "\\Device\\Harddisk36\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak5", BRACK(FH_SDAK | 5), "\\Device\\Harddisk36\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak6", BRACK(FH_SDAK | 6), "\\Device\\Harddisk36\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak7", BRACK(FH_SDAK | 7), "\\Device\\Harddisk36\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak8", BRACK(FH_SDAK | 8), "\\Device\\Harddisk36\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak9", BRACK(FH_SDAK | 9), "\\Device\\Harddisk36\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak10", BRACK(FH_SDAK | 10), "\\Device\\Harddisk36\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak11", BRACK(FH_SDAK | 11), "\\Device\\Harddisk36\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak12", BRACK(FH_SDAK | 12), "\\Device\\Harddisk36\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak13", BRACK(FH_SDAK | 13), "\\Device\\Harddisk36\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak14", BRACK(FH_SDAK | 14), "\\Device\\Harddisk36\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdak15", BRACK(FH_SDAK | 15), "\\Device\\Harddisk36\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal1", BRACK(FH_SDAL | 1), "\\Device\\Harddisk37\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal2", BRACK(FH_SDAL | 2), "\\Device\\Harddisk37\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal3", BRACK(FH_SDAL | 3), "\\Device\\Harddisk37\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal4", BRACK(FH_SDAL | 4), "\\Device\\Harddisk37\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal5", BRACK(FH_SDAL | 5), "\\Device\\Harddisk37\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal6", BRACK(FH_SDAL | 6), "\\Device\\Harddisk37\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal7", BRACK(FH_SDAL | 7), "\\Device\\Harddisk37\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal8", BRACK(FH_SDAL | 8), "\\Device\\Harddisk37\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal9", BRACK(FH_SDAL | 9), "\\Device\\Harddisk37\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal10", BRACK(FH_SDAL | 10), "\\Device\\Harddisk37\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal11", BRACK(FH_SDAL | 11), "\\Device\\Harddisk37\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal12", BRACK(FH_SDAL | 12), "\\Device\\Harddisk37\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal13", BRACK(FH_SDAL | 13), "\\Device\\Harddisk37\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal14", BRACK(FH_SDAL | 14), "\\Device\\Harddisk37\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdal15", BRACK(FH_SDAL | 15), "\\Device\\Harddisk37\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam1", BRACK(FH_SDAM | 1), "\\Device\\Harddisk38\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam2", BRACK(FH_SDAM | 2), "\\Device\\Harddisk38\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam3", BRACK(FH_SDAM | 3), "\\Device\\Harddisk38\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam4", BRACK(FH_SDAM | 4), "\\Device\\Harddisk38\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam5", BRACK(FH_SDAM | 5), "\\Device\\Harddisk38\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam6", BRACK(FH_SDAM | 6), "\\Device\\Harddisk38\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam7", BRACK(FH_SDAM | 7), "\\Device\\Harddisk38\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam8", BRACK(FH_SDAM | 8), "\\Device\\Harddisk38\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam9", BRACK(FH_SDAM | 9), "\\Device\\Harddisk38\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam10", BRACK(FH_SDAM | 10), "\\Device\\Harddisk38\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam11", BRACK(FH_SDAM | 11), "\\Device\\Harddisk38\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam12", BRACK(FH_SDAM | 12), "\\Device\\Harddisk38\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam13", BRACK(FH_SDAM | 13), "\\Device\\Harddisk38\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam14", BRACK(FH_SDAM | 14), "\\Device\\Harddisk38\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdam15", BRACK(FH_SDAM | 15), "\\Device\\Harddisk38\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan1", BRACK(FH_SDAN | 1), "\\Device\\Harddisk39\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan2", BRACK(FH_SDAN | 2), "\\Device\\Harddisk39\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan3", BRACK(FH_SDAN | 3), "\\Device\\Harddisk39\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan4", BRACK(FH_SDAN | 4), "\\Device\\Harddisk39\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan5", BRACK(FH_SDAN | 5), "\\Device\\Harddisk39\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan6", BRACK(FH_SDAN | 6), "\\Device\\Harddisk39\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan7", BRACK(FH_SDAN | 7), "\\Device\\Harddisk39\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan8", BRACK(FH_SDAN | 8), "\\Device\\Harddisk39\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan9", BRACK(FH_SDAN | 9), "\\Device\\Harddisk39\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan10", BRACK(FH_SDAN | 10), "\\Device\\Harddisk39\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan11", BRACK(FH_SDAN | 11), "\\Device\\Harddisk39\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan12", BRACK(FH_SDAN | 12), "\\Device\\Harddisk39\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan13", BRACK(FH_SDAN | 13), "\\Device\\Harddisk39\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan14", BRACK(FH_SDAN | 14), "\\Device\\Harddisk39\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdan15", BRACK(FH_SDAN | 15), "\\Device\\Harddisk39\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao1", BRACK(FH_SDAO | 1), "\\Device\\Harddisk40\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao2", BRACK(FH_SDAO | 2), "\\Device\\Harddisk40\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao3", BRACK(FH_SDAO | 3), "\\Device\\Harddisk40\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao4", BRACK(FH_SDAO | 4), "\\Device\\Harddisk40\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao5", BRACK(FH_SDAO | 5), "\\Device\\Harddisk40\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao6", BRACK(FH_SDAO | 6), "\\Device\\Harddisk40\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao7", BRACK(FH_SDAO | 7), "\\Device\\Harddisk40\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao8", BRACK(FH_SDAO | 8), "\\Device\\Harddisk40\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao9", BRACK(FH_SDAO | 9), "\\Device\\Harddisk40\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao10", BRACK(FH_SDAO | 10), "\\Device\\Harddisk40\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao11", BRACK(FH_SDAO | 11), "\\Device\\Harddisk40\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao12", BRACK(FH_SDAO | 12), "\\Device\\Harddisk40\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao13", BRACK(FH_SDAO | 13), "\\Device\\Harddisk40\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao14", BRACK(FH_SDAO | 14), "\\Device\\Harddisk40\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdao15", BRACK(FH_SDAO | 15), "\\Device\\Harddisk40\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap1", BRACK(FH_SDAP | 1), "\\Device\\Harddisk41\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap2", BRACK(FH_SDAP | 2), "\\Device\\Harddisk41\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap3", BRACK(FH_SDAP | 3), "\\Device\\Harddisk41\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap4", BRACK(FH_SDAP | 4), "\\Device\\Harddisk41\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap5", BRACK(FH_SDAP | 5), "\\Device\\Harddisk41\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap6", BRACK(FH_SDAP | 6), "\\Device\\Harddisk41\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap7", BRACK(FH_SDAP | 7), "\\Device\\Harddisk41\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap8", BRACK(FH_SDAP | 8), "\\Device\\Harddisk41\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap9", BRACK(FH_SDAP | 9), "\\Device\\Harddisk41\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap10", BRACK(FH_SDAP | 10), "\\Device\\Harddisk41\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap11", BRACK(FH_SDAP | 11), "\\Device\\Harddisk41\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap12", BRACK(FH_SDAP | 12), "\\Device\\Harddisk41\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap13", BRACK(FH_SDAP | 13), "\\Device\\Harddisk41\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap14", BRACK(FH_SDAP | 14), "\\Device\\Harddisk41\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdap15", BRACK(FH_SDAP | 15), "\\Device\\Harddisk41\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq1", BRACK(FH_SDAQ | 1), "\\Device\\Harddisk42\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq2", BRACK(FH_SDAQ | 2), "\\Device\\Harddisk42\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq3", BRACK(FH_SDAQ | 3), "\\Device\\Harddisk42\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq4", BRACK(FH_SDAQ | 4), "\\Device\\Harddisk42\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq5", BRACK(FH_SDAQ | 5), "\\Device\\Harddisk42\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq6", BRACK(FH_SDAQ | 6), "\\Device\\Harddisk42\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq7", BRACK(FH_SDAQ | 7), "\\Device\\Harddisk42\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq8", BRACK(FH_SDAQ | 8), "\\Device\\Harddisk42\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq9", BRACK(FH_SDAQ | 9), "\\Device\\Harddisk42\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq10", BRACK(FH_SDAQ | 10), "\\Device\\Harddisk42\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq11", BRACK(FH_SDAQ | 11), "\\Device\\Harddisk42\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq12", BRACK(FH_SDAQ | 12), "\\Device\\Harddisk42\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq13", BRACK(FH_SDAQ | 13), "\\Device\\Harddisk42\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq14", BRACK(FH_SDAQ | 14), "\\Device\\Harddisk42\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaq15", BRACK(FH_SDAQ | 15), "\\Device\\Harddisk42\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar1", BRACK(FH_SDAR | 1), "\\Device\\Harddisk43\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar2", BRACK(FH_SDAR | 2), "\\Device\\Harddisk43\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar3", BRACK(FH_SDAR | 3), "\\Device\\Harddisk43\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar4", BRACK(FH_SDAR | 4), "\\Device\\Harddisk43\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar5", BRACK(FH_SDAR | 5), "\\Device\\Harddisk43\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar6", BRACK(FH_SDAR | 6), "\\Device\\Harddisk43\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar7", BRACK(FH_SDAR | 7), "\\Device\\Harddisk43\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar8", BRACK(FH_SDAR | 8), "\\Device\\Harddisk43\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar9", BRACK(FH_SDAR | 9), "\\Device\\Harddisk43\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar10", BRACK(FH_SDAR | 10), "\\Device\\Harddisk43\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar11", BRACK(FH_SDAR | 11), "\\Device\\Harddisk43\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar12", BRACK(FH_SDAR | 12), "\\Device\\Harddisk43\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar13", BRACK(FH_SDAR | 13), "\\Device\\Harddisk43\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar14", BRACK(FH_SDAR | 14), "\\Device\\Harddisk43\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdar15", BRACK(FH_SDAR | 15), "\\Device\\Harddisk43\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas1", BRACK(FH_SDAS | 1), "\\Device\\Harddisk44\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas2", BRACK(FH_SDAS | 2), "\\Device\\Harddisk44\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas3", BRACK(FH_SDAS | 3), "\\Device\\Harddisk44\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas4", BRACK(FH_SDAS | 4), "\\Device\\Harddisk44\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas5", BRACK(FH_SDAS | 5), "\\Device\\Harddisk44\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas6", BRACK(FH_SDAS | 6), "\\Device\\Harddisk44\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas7", BRACK(FH_SDAS | 7), "\\Device\\Harddisk44\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas8", BRACK(FH_SDAS | 8), "\\Device\\Harddisk44\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas9", BRACK(FH_SDAS | 9), "\\Device\\Harddisk44\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas10", BRACK(FH_SDAS | 10), "\\Device\\Harddisk44\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas11", BRACK(FH_SDAS | 11), "\\Device\\Harddisk44\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas12", BRACK(FH_SDAS | 12), "\\Device\\Harddisk44\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas13", BRACK(FH_SDAS | 13), "\\Device\\Harddisk44\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas14", BRACK(FH_SDAS | 14), "\\Device\\Harddisk44\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdas15", BRACK(FH_SDAS | 15), "\\Device\\Harddisk44\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat1", BRACK(FH_SDAT | 1), "\\Device\\Harddisk45\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat2", BRACK(FH_SDAT | 2), "\\Device\\Harddisk45\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat3", BRACK(FH_SDAT | 3), "\\Device\\Harddisk45\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat4", BRACK(FH_SDAT | 4), "\\Device\\Harddisk45\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat5", BRACK(FH_SDAT | 5), "\\Device\\Harddisk45\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat6", BRACK(FH_SDAT | 6), "\\Device\\Harddisk45\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat7", BRACK(FH_SDAT | 7), "\\Device\\Harddisk45\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat8", BRACK(FH_SDAT | 8), "\\Device\\Harddisk45\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat9", BRACK(FH_SDAT | 9), "\\Device\\Harddisk45\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat10", BRACK(FH_SDAT | 10), "\\Device\\Harddisk45\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat11", BRACK(FH_SDAT | 11), "\\Device\\Harddisk45\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat12", BRACK(FH_SDAT | 12), "\\Device\\Harddisk45\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat13", BRACK(FH_SDAT | 13), "\\Device\\Harddisk45\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat14", BRACK(FH_SDAT | 14), "\\Device\\Harddisk45\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdat15", BRACK(FH_SDAT | 15), "\\Device\\Harddisk45\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau1", BRACK(FH_SDAU | 1), "\\Device\\Harddisk46\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau2", BRACK(FH_SDAU | 2), "\\Device\\Harddisk46\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau3", BRACK(FH_SDAU | 3), "\\Device\\Harddisk46\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau4", BRACK(FH_SDAU | 4), "\\Device\\Harddisk46\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau5", BRACK(FH_SDAU | 5), "\\Device\\Harddisk46\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau6", BRACK(FH_SDAU | 6), "\\Device\\Harddisk46\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau7", BRACK(FH_SDAU | 7), "\\Device\\Harddisk46\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau8", BRACK(FH_SDAU | 8), "\\Device\\Harddisk46\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau9", BRACK(FH_SDAU | 9), "\\Device\\Harddisk46\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau10", BRACK(FH_SDAU | 10), "\\Device\\Harddisk46\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau11", BRACK(FH_SDAU | 11), "\\Device\\Harddisk46\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau12", BRACK(FH_SDAU | 12), "\\Device\\Harddisk46\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau13", BRACK(FH_SDAU | 13), "\\Device\\Harddisk46\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau14", BRACK(FH_SDAU | 14), "\\Device\\Harddisk46\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdau15", BRACK(FH_SDAU | 15), "\\Device\\Harddisk46\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav1", BRACK(FH_SDAV | 1), "\\Device\\Harddisk47\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav2", BRACK(FH_SDAV | 2), "\\Device\\Harddisk47\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav3", BRACK(FH_SDAV | 3), "\\Device\\Harddisk47\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav4", BRACK(FH_SDAV | 4), "\\Device\\Harddisk47\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav5", BRACK(FH_SDAV | 5), "\\Device\\Harddisk47\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav6", BRACK(FH_SDAV | 6), "\\Device\\Harddisk47\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav7", BRACK(FH_SDAV | 7), "\\Device\\Harddisk47\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav8", BRACK(FH_SDAV | 8), "\\Device\\Harddisk47\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav9", BRACK(FH_SDAV | 9), "\\Device\\Harddisk47\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav10", BRACK(FH_SDAV | 10), "\\Device\\Harddisk47\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav11", BRACK(FH_SDAV | 11), "\\Device\\Harddisk47\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav12", BRACK(FH_SDAV | 12), "\\Device\\Harddisk47\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav13", BRACK(FH_SDAV | 13), "\\Device\\Harddisk47\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav14", BRACK(FH_SDAV | 14), "\\Device\\Harddisk47\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdav15", BRACK(FH_SDAV | 15), "\\Device\\Harddisk47\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw1", BRACK(FH_SDAW | 1), "\\Device\\Harddisk48\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw2", BRACK(FH_SDAW | 2), "\\Device\\Harddisk48\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw3", BRACK(FH_SDAW | 3), "\\Device\\Harddisk48\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw4", BRACK(FH_SDAW | 4), "\\Device\\Harddisk48\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw5", BRACK(FH_SDAW | 5), "\\Device\\Harddisk48\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw6", BRACK(FH_SDAW | 6), "\\Device\\Harddisk48\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw7", BRACK(FH_SDAW | 7), "\\Device\\Harddisk48\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw8", BRACK(FH_SDAW | 8), "\\Device\\Harddisk48\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw9", BRACK(FH_SDAW | 9), "\\Device\\Harddisk48\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw10", BRACK(FH_SDAW | 10), "\\Device\\Harddisk48\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw11", BRACK(FH_SDAW | 11), "\\Device\\Harddisk48\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw12", BRACK(FH_SDAW | 12), "\\Device\\Harddisk48\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw13", BRACK(FH_SDAW | 13), "\\Device\\Harddisk48\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw14", BRACK(FH_SDAW | 14), "\\Device\\Harddisk48\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaw15", BRACK(FH_SDAW | 15), "\\Device\\Harddisk48\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax1", BRACK(FH_SDAX | 1), "\\Device\\Harddisk49\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax2", BRACK(FH_SDAX | 2), "\\Device\\Harddisk49\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax3", BRACK(FH_SDAX | 3), "\\Device\\Harddisk49\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax4", BRACK(FH_SDAX | 4), "\\Device\\Harddisk49\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax5", BRACK(FH_SDAX | 5), "\\Device\\Harddisk49\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax6", BRACK(FH_SDAX | 6), "\\Device\\Harddisk49\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax7", BRACK(FH_SDAX | 7), "\\Device\\Harddisk49\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax8", BRACK(FH_SDAX | 8), "\\Device\\Harddisk49\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax9", BRACK(FH_SDAX | 9), "\\Device\\Harddisk49\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax10", BRACK(FH_SDAX | 10), "\\Device\\Harddisk49\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax11", BRACK(FH_SDAX | 11), "\\Device\\Harddisk49\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax12", BRACK(FH_SDAX | 12), "\\Device\\Harddisk49\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax13", BRACK(FH_SDAX | 13), "\\Device\\Harddisk49\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax14", BRACK(FH_SDAX | 14), "\\Device\\Harddisk49\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdax15", BRACK(FH_SDAX | 15), "\\Device\\Harddisk49\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sday1", BRACK(FH_SDAY | 1), "\\Device\\Harddisk50\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sday2", BRACK(FH_SDAY | 2), "\\Device\\Harddisk50\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sday3", BRACK(FH_SDAY | 3), "\\Device\\Harddisk50\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sday4", BRACK(FH_SDAY | 4), "\\Device\\Harddisk50\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sday5", BRACK(FH_SDAY | 5), "\\Device\\Harddisk50\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sday6", BRACK(FH_SDAY | 6), "\\Device\\Harddisk50\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sday7", BRACK(FH_SDAY | 7), "\\Device\\Harddisk50\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sday8", BRACK(FH_SDAY | 8), "\\Device\\Harddisk50\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sday9", BRACK(FH_SDAY | 9), "\\Device\\Harddisk50\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sday10", BRACK(FH_SDAY | 10), "\\Device\\Harddisk50\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sday11", BRACK(FH_SDAY | 11), "\\Device\\Harddisk50\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sday12", BRACK(FH_SDAY | 12), "\\Device\\Harddisk50\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sday13", BRACK(FH_SDAY | 13), "\\Device\\Harddisk50\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sday14", BRACK(FH_SDAY | 14), "\\Device\\Harddisk50\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sday15", BRACK(FH_SDAY | 15), "\\Device\\Harddisk50\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz1", BRACK(FH_SDAZ | 1), "\\Device\\Harddisk51\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz2", BRACK(FH_SDAZ | 2), "\\Device\\Harddisk51\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz3", BRACK(FH_SDAZ | 3), "\\Device\\Harddisk51\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz4", BRACK(FH_SDAZ | 4), "\\Device\\Harddisk51\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz5", BRACK(FH_SDAZ | 5), "\\Device\\Harddisk51\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz6", BRACK(FH_SDAZ | 6), "\\Device\\Harddisk51\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz7", BRACK(FH_SDAZ | 7), "\\Device\\Harddisk51\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz8", BRACK(FH_SDAZ | 8), "\\Device\\Harddisk51\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz9", BRACK(FH_SDAZ | 9), "\\Device\\Harddisk51\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz10", BRACK(FH_SDAZ | 10), "\\Device\\Harddisk51\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz11", BRACK(FH_SDAZ | 11), "\\Device\\Harddisk51\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz12", BRACK(FH_SDAZ | 12), "\\Device\\Harddisk51\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz13", BRACK(FH_SDAZ | 13), "\\Device\\Harddisk51\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz14", BRACK(FH_SDAZ | 14), "\\Device\\Harddisk51\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdaz15", BRACK(FH_SDAZ | 15), "\\Device\\Harddisk51\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba", BRACK(FH_SDBA), "\\Device\\Harddisk52\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb", BRACK(FH_SDBB), "\\Device\\Harddisk53\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc", BRACK(FH_SDBC), "\\Device\\Harddisk54\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd", BRACK(FH_SDBD), "\\Device\\Harddisk55\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe", BRACK(FH_SDBE), "\\Device\\Harddisk56\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf", BRACK(FH_SDBF), "\\Device\\Harddisk57\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg", BRACK(FH_SDBG), "\\Device\\Harddisk58\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh", BRACK(FH_SDBH), "\\Device\\Harddisk59\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi", BRACK(FH_SDBI), "\\Device\\Harddisk60\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj", BRACK(FH_SDBJ), "\\Device\\Harddisk61\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk", BRACK(FH_SDBK), "\\Device\\Harddisk62\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl", BRACK(FH_SDBL), "\\Device\\Harddisk63\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm", BRACK(FH_SDBM), "\\Device\\Harddisk64\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn", BRACK(FH_SDBN), "\\Device\\Harddisk65\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo", BRACK(FH_SDBO), "\\Device\\Harddisk66\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp", BRACK(FH_SDBP), "\\Device\\Harddisk67\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq", BRACK(FH_SDBQ), "\\Device\\Harddisk68\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr", BRACK(FH_SDBR), "\\Device\\Harddisk69\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs", BRACK(FH_SDBS), "\\Device\\Harddisk70\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt", BRACK(FH_SDBT), "\\Device\\Harddisk71\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu", BRACK(FH_SDBU), "\\Device\\Harddisk72\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv", BRACK(FH_SDBV), "\\Device\\Harddisk73\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw", BRACK(FH_SDBW), "\\Device\\Harddisk74\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx", BRACK(FH_SDBX), "\\Device\\Harddisk75\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby", BRACK(FH_SDBY), "\\Device\\Harddisk76\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz", BRACK(FH_SDBZ), "\\Device\\Harddisk77\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba1", BRACK(FH_SDBA | 1), "\\Device\\Harddisk52\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba2", BRACK(FH_SDBA | 2), "\\Device\\Harddisk52\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba3", BRACK(FH_SDBA | 3), "\\Device\\Harddisk52\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba4", BRACK(FH_SDBA | 4), "\\Device\\Harddisk52\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba5", BRACK(FH_SDBA | 5), "\\Device\\Harddisk52\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba6", BRACK(FH_SDBA | 6), "\\Device\\Harddisk52\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba7", BRACK(FH_SDBA | 7), "\\Device\\Harddisk52\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba8", BRACK(FH_SDBA | 8), "\\Device\\Harddisk52\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba9", BRACK(FH_SDBA | 9), "\\Device\\Harddisk52\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba10", BRACK(FH_SDBA | 10), "\\Device\\Harddisk52\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba11", BRACK(FH_SDBA | 11), "\\Device\\Harddisk52\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba12", BRACK(FH_SDBA | 12), "\\Device\\Harddisk52\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba13", BRACK(FH_SDBA | 13), "\\Device\\Harddisk52\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba14", BRACK(FH_SDBA | 14), "\\Device\\Harddisk52\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdba15", BRACK(FH_SDBA | 15), "\\Device\\Harddisk52\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb1", BRACK(FH_SDBB | 1), "\\Device\\Harddisk53\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb2", BRACK(FH_SDBB | 2), "\\Device\\Harddisk53\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb3", BRACK(FH_SDBB | 3), "\\Device\\Harddisk53\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb4", BRACK(FH_SDBB | 4), "\\Device\\Harddisk53\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb5", BRACK(FH_SDBB | 5), "\\Device\\Harddisk53\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb6", BRACK(FH_SDBB | 6), "\\Device\\Harddisk53\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb7", BRACK(FH_SDBB | 7), "\\Device\\Harddisk53\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb8", BRACK(FH_SDBB | 8), "\\Device\\Harddisk53\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb9", BRACK(FH_SDBB | 9), "\\Device\\Harddisk53\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb10", BRACK(FH_SDBB | 10), "\\Device\\Harddisk53\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb11", BRACK(FH_SDBB | 11), "\\Device\\Harddisk53\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb12", BRACK(FH_SDBB | 12), "\\Device\\Harddisk53\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb13", BRACK(FH_SDBB | 13), "\\Device\\Harddisk53\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb14", BRACK(FH_SDBB | 14), "\\Device\\Harddisk53\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbb15", BRACK(FH_SDBB | 15), "\\Device\\Harddisk53\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc1", BRACK(FH_SDBC | 1), "\\Device\\Harddisk54\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc2", BRACK(FH_SDBC | 2), "\\Device\\Harddisk54\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc3", BRACK(FH_SDBC | 3), "\\Device\\Harddisk54\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc4", BRACK(FH_SDBC | 4), "\\Device\\Harddisk54\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc5", BRACK(FH_SDBC | 5), "\\Device\\Harddisk54\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc6", BRACK(FH_SDBC | 6), "\\Device\\Harddisk54\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc7", BRACK(FH_SDBC | 7), "\\Device\\Harddisk54\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc8", BRACK(FH_SDBC | 8), "\\Device\\Harddisk54\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc9", BRACK(FH_SDBC | 9), "\\Device\\Harddisk54\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc10", BRACK(FH_SDBC | 10), "\\Device\\Harddisk54\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc11", BRACK(FH_SDBC | 11), "\\Device\\Harddisk54\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc12", BRACK(FH_SDBC | 12), "\\Device\\Harddisk54\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc13", BRACK(FH_SDBC | 13), "\\Device\\Harddisk54\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc14", BRACK(FH_SDBC | 14), "\\Device\\Harddisk54\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbc15", BRACK(FH_SDBC | 15), "\\Device\\Harddisk54\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd1", BRACK(FH_SDBD | 1), "\\Device\\Harddisk55\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd2", BRACK(FH_SDBD | 2), "\\Device\\Harddisk55\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd3", BRACK(FH_SDBD | 3), "\\Device\\Harddisk55\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd4", BRACK(FH_SDBD | 4), "\\Device\\Harddisk55\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd5", BRACK(FH_SDBD | 5), "\\Device\\Harddisk55\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd6", BRACK(FH_SDBD | 6), "\\Device\\Harddisk55\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd7", BRACK(FH_SDBD | 7), "\\Device\\Harddisk55\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd8", BRACK(FH_SDBD | 8), "\\Device\\Harddisk55\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd9", BRACK(FH_SDBD | 9), "\\Device\\Harddisk55\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd10", BRACK(FH_SDBD | 10), "\\Device\\Harddisk55\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd11", BRACK(FH_SDBD | 11), "\\Device\\Harddisk55\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd12", BRACK(FH_SDBD | 12), "\\Device\\Harddisk55\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd13", BRACK(FH_SDBD | 13), "\\Device\\Harddisk55\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd14", BRACK(FH_SDBD | 14), "\\Device\\Harddisk55\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbd15", BRACK(FH_SDBD | 15), "\\Device\\Harddisk55\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe1", BRACK(FH_SDBE | 1), "\\Device\\Harddisk56\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe2", BRACK(FH_SDBE | 2), "\\Device\\Harddisk56\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe3", BRACK(FH_SDBE | 3), "\\Device\\Harddisk56\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe4", BRACK(FH_SDBE | 4), "\\Device\\Harddisk56\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe5", BRACK(FH_SDBE | 5), "\\Device\\Harddisk56\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe6", BRACK(FH_SDBE | 6), "\\Device\\Harddisk56\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe7", BRACK(FH_SDBE | 7), "\\Device\\Harddisk56\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe8", BRACK(FH_SDBE | 8), "\\Device\\Harddisk56\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe9", BRACK(FH_SDBE | 9), "\\Device\\Harddisk56\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe10", BRACK(FH_SDBE | 10), "\\Device\\Harddisk56\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe11", BRACK(FH_SDBE | 11), "\\Device\\Harddisk56\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe12", BRACK(FH_SDBE | 12), "\\Device\\Harddisk56\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe13", BRACK(FH_SDBE | 13), "\\Device\\Harddisk56\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe14", BRACK(FH_SDBE | 14), "\\Device\\Harddisk56\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbe15", BRACK(FH_SDBE | 15), "\\Device\\Harddisk56\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf1", BRACK(FH_SDBF | 1), "\\Device\\Harddisk57\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf2", BRACK(FH_SDBF | 2), "\\Device\\Harddisk57\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf3", BRACK(FH_SDBF | 3), "\\Device\\Harddisk57\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf4", BRACK(FH_SDBF | 4), "\\Device\\Harddisk57\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf5", BRACK(FH_SDBF | 5), "\\Device\\Harddisk57\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf6", BRACK(FH_SDBF | 6), "\\Device\\Harddisk57\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf7", BRACK(FH_SDBF | 7), "\\Device\\Harddisk57\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf8", BRACK(FH_SDBF | 8), "\\Device\\Harddisk57\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf9", BRACK(FH_SDBF | 9), "\\Device\\Harddisk57\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf10", BRACK(FH_SDBF | 10), "\\Device\\Harddisk57\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf11", BRACK(FH_SDBF | 11), "\\Device\\Harddisk57\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf12", BRACK(FH_SDBF | 12), "\\Device\\Harddisk57\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf13", BRACK(FH_SDBF | 13), "\\Device\\Harddisk57\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf14", BRACK(FH_SDBF | 14), "\\Device\\Harddisk57\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbf15", BRACK(FH_SDBF | 15), "\\Device\\Harddisk57\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg1", BRACK(FH_SDBG | 1), "\\Device\\Harddisk58\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg2", BRACK(FH_SDBG | 2), "\\Device\\Harddisk58\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg3", BRACK(FH_SDBG | 3), "\\Device\\Harddisk58\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg4", BRACK(FH_SDBG | 4), "\\Device\\Harddisk58\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg5", BRACK(FH_SDBG | 5), "\\Device\\Harddisk58\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg6", BRACK(FH_SDBG | 6), "\\Device\\Harddisk58\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg7", BRACK(FH_SDBG | 7), "\\Device\\Harddisk58\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg8", BRACK(FH_SDBG | 8), "\\Device\\Harddisk58\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg9", BRACK(FH_SDBG | 9), "\\Device\\Harddisk58\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg10", BRACK(FH_SDBG | 10), "\\Device\\Harddisk58\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg11", BRACK(FH_SDBG | 11), "\\Device\\Harddisk58\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg12", BRACK(FH_SDBG | 12), "\\Device\\Harddisk58\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg13", BRACK(FH_SDBG | 13), "\\Device\\Harddisk58\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg14", BRACK(FH_SDBG | 14), "\\Device\\Harddisk58\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbg15", BRACK(FH_SDBG | 15), "\\Device\\Harddisk58\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh1", BRACK(FH_SDBH | 1), "\\Device\\Harddisk59\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh2", BRACK(FH_SDBH | 2), "\\Device\\Harddisk59\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh3", BRACK(FH_SDBH | 3), "\\Device\\Harddisk59\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh4", BRACK(FH_SDBH | 4), "\\Device\\Harddisk59\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh5", BRACK(FH_SDBH | 5), "\\Device\\Harddisk59\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh6", BRACK(FH_SDBH | 6), "\\Device\\Harddisk59\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh7", BRACK(FH_SDBH | 7), "\\Device\\Harddisk59\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh8", BRACK(FH_SDBH | 8), "\\Device\\Harddisk59\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh9", BRACK(FH_SDBH | 9), "\\Device\\Harddisk59\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh10", BRACK(FH_SDBH | 10), "\\Device\\Harddisk59\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh11", BRACK(FH_SDBH | 11), "\\Device\\Harddisk59\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh12", BRACK(FH_SDBH | 12), "\\Device\\Harddisk59\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh13", BRACK(FH_SDBH | 13), "\\Device\\Harddisk59\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh14", BRACK(FH_SDBH | 14), "\\Device\\Harddisk59\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbh15", BRACK(FH_SDBH | 15), "\\Device\\Harddisk59\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi1", BRACK(FH_SDBI | 1), "\\Device\\Harddisk60\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi2", BRACK(FH_SDBI | 2), "\\Device\\Harddisk60\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi3", BRACK(FH_SDBI | 3), "\\Device\\Harddisk60\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi4", BRACK(FH_SDBI | 4), "\\Device\\Harddisk60\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi5", BRACK(FH_SDBI | 5), "\\Device\\Harddisk60\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi6", BRACK(FH_SDBI | 6), "\\Device\\Harddisk60\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi7", BRACK(FH_SDBI | 7), "\\Device\\Harddisk60\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi8", BRACK(FH_SDBI | 8), "\\Device\\Harddisk60\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi9", BRACK(FH_SDBI | 9), "\\Device\\Harddisk60\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi10", BRACK(FH_SDBI | 10), "\\Device\\Harddisk60\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi11", BRACK(FH_SDBI | 11), "\\Device\\Harddisk60\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi12", BRACK(FH_SDBI | 12), "\\Device\\Harddisk60\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi13", BRACK(FH_SDBI | 13), "\\Device\\Harddisk60\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi14", BRACK(FH_SDBI | 14), "\\Device\\Harddisk60\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbi15", BRACK(FH_SDBI | 15), "\\Device\\Harddisk60\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj1", BRACK(FH_SDBJ | 1), "\\Device\\Harddisk61\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj2", BRACK(FH_SDBJ | 2), "\\Device\\Harddisk61\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj3", BRACK(FH_SDBJ | 3), "\\Device\\Harddisk61\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj4", BRACK(FH_SDBJ | 4), "\\Device\\Harddisk61\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj5", BRACK(FH_SDBJ | 5), "\\Device\\Harddisk61\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj6", BRACK(FH_SDBJ | 6), "\\Device\\Harddisk61\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj7", BRACK(FH_SDBJ | 7), "\\Device\\Harddisk61\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj8", BRACK(FH_SDBJ | 8), "\\Device\\Harddisk61\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj9", BRACK(FH_SDBJ | 9), "\\Device\\Harddisk61\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj10", BRACK(FH_SDBJ | 10), "\\Device\\Harddisk61\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj11", BRACK(FH_SDBJ | 11), "\\Device\\Harddisk61\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj12", BRACK(FH_SDBJ | 12), "\\Device\\Harddisk61\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj13", BRACK(FH_SDBJ | 13), "\\Device\\Harddisk61\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj14", BRACK(FH_SDBJ | 14), "\\Device\\Harddisk61\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbj15", BRACK(FH_SDBJ | 15), "\\Device\\Harddisk61\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk1", BRACK(FH_SDBK | 1), "\\Device\\Harddisk62\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk2", BRACK(FH_SDBK | 2), "\\Device\\Harddisk62\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk3", BRACK(FH_SDBK | 3), "\\Device\\Harddisk62\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk4", BRACK(FH_SDBK | 4), "\\Device\\Harddisk62\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk5", BRACK(FH_SDBK | 5), "\\Device\\Harddisk62\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk6", BRACK(FH_SDBK | 6), "\\Device\\Harddisk62\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk7", BRACK(FH_SDBK | 7), "\\Device\\Harddisk62\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk8", BRACK(FH_SDBK | 8), "\\Device\\Harddisk62\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk9", BRACK(FH_SDBK | 9), "\\Device\\Harddisk62\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk10", BRACK(FH_SDBK | 10), "\\Device\\Harddisk62\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk11", BRACK(FH_SDBK | 11), "\\Device\\Harddisk62\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk12", BRACK(FH_SDBK | 12), "\\Device\\Harddisk62\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk13", BRACK(FH_SDBK | 13), "\\Device\\Harddisk62\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk14", BRACK(FH_SDBK | 14), "\\Device\\Harddisk62\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbk15", BRACK(FH_SDBK | 15), "\\Device\\Harddisk62\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl1", BRACK(FH_SDBL | 1), "\\Device\\Harddisk63\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl2", BRACK(FH_SDBL | 2), "\\Device\\Harddisk63\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl3", BRACK(FH_SDBL | 3), "\\Device\\Harddisk63\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl4", BRACK(FH_SDBL | 4), "\\Device\\Harddisk63\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl5", BRACK(FH_SDBL | 5), "\\Device\\Harddisk63\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl6", BRACK(FH_SDBL | 6), "\\Device\\Harddisk63\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl7", BRACK(FH_SDBL | 7), "\\Device\\Harddisk63\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl8", BRACK(FH_SDBL | 8), "\\Device\\Harddisk63\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl9", BRACK(FH_SDBL | 9), "\\Device\\Harddisk63\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl10", BRACK(FH_SDBL | 10), "\\Device\\Harddisk63\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl11", BRACK(FH_SDBL | 11), "\\Device\\Harddisk63\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl12", BRACK(FH_SDBL | 12), "\\Device\\Harddisk63\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl13", BRACK(FH_SDBL | 13), "\\Device\\Harddisk63\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl14", BRACK(FH_SDBL | 14), "\\Device\\Harddisk63\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbl15", BRACK(FH_SDBL | 15), "\\Device\\Harddisk63\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm1", BRACK(FH_SDBM | 1), "\\Device\\Harddisk64\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm2", BRACK(FH_SDBM | 2), "\\Device\\Harddisk64\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm3", BRACK(FH_SDBM | 3), "\\Device\\Harddisk64\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm4", BRACK(FH_SDBM | 4), "\\Device\\Harddisk64\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm5", BRACK(FH_SDBM | 5), "\\Device\\Harddisk64\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm6", BRACK(FH_SDBM | 6), "\\Device\\Harddisk64\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm7", BRACK(FH_SDBM | 7), "\\Device\\Harddisk64\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm8", BRACK(FH_SDBM | 8), "\\Device\\Harddisk64\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm9", BRACK(FH_SDBM | 9), "\\Device\\Harddisk64\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm10", BRACK(FH_SDBM | 10), "\\Device\\Harddisk64\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm11", BRACK(FH_SDBM | 11), "\\Device\\Harddisk64\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm12", BRACK(FH_SDBM | 12), "\\Device\\Harddisk64\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm13", BRACK(FH_SDBM | 13), "\\Device\\Harddisk64\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm14", BRACK(FH_SDBM | 14), "\\Device\\Harddisk64\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbm15", BRACK(FH_SDBM | 15), "\\Device\\Harddisk64\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn1", BRACK(FH_SDBN | 1), "\\Device\\Harddisk65\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn2", BRACK(FH_SDBN | 2), "\\Device\\Harddisk65\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn3", BRACK(FH_SDBN | 3), "\\Device\\Harddisk65\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn4", BRACK(FH_SDBN | 4), "\\Device\\Harddisk65\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn5", BRACK(FH_SDBN | 5), "\\Device\\Harddisk65\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn6", BRACK(FH_SDBN | 6), "\\Device\\Harddisk65\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn7", BRACK(FH_SDBN | 7), "\\Device\\Harddisk65\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn8", BRACK(FH_SDBN | 8), "\\Device\\Harddisk65\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn9", BRACK(FH_SDBN | 9), "\\Device\\Harddisk65\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn10", BRACK(FH_SDBN | 10), "\\Device\\Harddisk65\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn11", BRACK(FH_SDBN | 11), "\\Device\\Harddisk65\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn12", BRACK(FH_SDBN | 12), "\\Device\\Harddisk65\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn13", BRACK(FH_SDBN | 13), "\\Device\\Harddisk65\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn14", BRACK(FH_SDBN | 14), "\\Device\\Harddisk65\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbn15", BRACK(FH_SDBN | 15), "\\Device\\Harddisk65\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo1", BRACK(FH_SDBO | 1), "\\Device\\Harddisk66\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo2", BRACK(FH_SDBO | 2), "\\Device\\Harddisk66\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo3", BRACK(FH_SDBO | 3), "\\Device\\Harddisk66\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo4", BRACK(FH_SDBO | 4), "\\Device\\Harddisk66\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo5", BRACK(FH_SDBO | 5), "\\Device\\Harddisk66\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo6", BRACK(FH_SDBO | 6), "\\Device\\Harddisk66\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo7", BRACK(FH_SDBO | 7), "\\Device\\Harddisk66\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo8", BRACK(FH_SDBO | 8), "\\Device\\Harddisk66\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo9", BRACK(FH_SDBO | 9), "\\Device\\Harddisk66\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo10", BRACK(FH_SDBO | 10), "\\Device\\Harddisk66\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo11", BRACK(FH_SDBO | 11), "\\Device\\Harddisk66\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo12", BRACK(FH_SDBO | 12), "\\Device\\Harddisk66\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo13", BRACK(FH_SDBO | 13), "\\Device\\Harddisk66\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo14", BRACK(FH_SDBO | 14), "\\Device\\Harddisk66\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbo15", BRACK(FH_SDBO | 15), "\\Device\\Harddisk66\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp1", BRACK(FH_SDBP | 1), "\\Device\\Harddisk67\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp2", BRACK(FH_SDBP | 2), "\\Device\\Harddisk67\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp3", BRACK(FH_SDBP | 3), "\\Device\\Harddisk67\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp4", BRACK(FH_SDBP | 4), "\\Device\\Harddisk67\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp5", BRACK(FH_SDBP | 5), "\\Device\\Harddisk67\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp6", BRACK(FH_SDBP | 6), "\\Device\\Harddisk67\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp7", BRACK(FH_SDBP | 7), "\\Device\\Harddisk67\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp8", BRACK(FH_SDBP | 8), "\\Device\\Harddisk67\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp9", BRACK(FH_SDBP | 9), "\\Device\\Harddisk67\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp10", BRACK(FH_SDBP | 10), "\\Device\\Harddisk67\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp11", BRACK(FH_SDBP | 11), "\\Device\\Harddisk67\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp12", BRACK(FH_SDBP | 12), "\\Device\\Harddisk67\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp13", BRACK(FH_SDBP | 13), "\\Device\\Harddisk67\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp14", BRACK(FH_SDBP | 14), "\\Device\\Harddisk67\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbp15", BRACK(FH_SDBP | 15), "\\Device\\Harddisk67\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq1", BRACK(FH_SDBQ | 1), "\\Device\\Harddisk68\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq2", BRACK(FH_SDBQ | 2), "\\Device\\Harddisk68\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq3", BRACK(FH_SDBQ | 3), "\\Device\\Harddisk68\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq4", BRACK(FH_SDBQ | 4), "\\Device\\Harddisk68\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq5", BRACK(FH_SDBQ | 5), "\\Device\\Harddisk68\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq6", BRACK(FH_SDBQ | 6), "\\Device\\Harddisk68\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq7", BRACK(FH_SDBQ | 7), "\\Device\\Harddisk68\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq8", BRACK(FH_SDBQ | 8), "\\Device\\Harddisk68\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq9", BRACK(FH_SDBQ | 9), "\\Device\\Harddisk68\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq10", BRACK(FH_SDBQ | 10), "\\Device\\Harddisk68\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq11", BRACK(FH_SDBQ | 11), "\\Device\\Harddisk68\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq12", BRACK(FH_SDBQ | 12), "\\Device\\Harddisk68\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq13", BRACK(FH_SDBQ | 13), "\\Device\\Harddisk68\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq14", BRACK(FH_SDBQ | 14), "\\Device\\Harddisk68\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbq15", BRACK(FH_SDBQ | 15), "\\Device\\Harddisk68\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr1", BRACK(FH_SDBR | 1), "\\Device\\Harddisk69\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr2", BRACK(FH_SDBR | 2), "\\Device\\Harddisk69\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr3", BRACK(FH_SDBR | 3), "\\Device\\Harddisk69\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr4", BRACK(FH_SDBR | 4), "\\Device\\Harddisk69\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr5", BRACK(FH_SDBR | 5), "\\Device\\Harddisk69\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr6", BRACK(FH_SDBR | 6), "\\Device\\Harddisk69\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr7", BRACK(FH_SDBR | 7), "\\Device\\Harddisk69\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr8", BRACK(FH_SDBR | 8), "\\Device\\Harddisk69\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr9", BRACK(FH_SDBR | 9), "\\Device\\Harddisk69\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr10", BRACK(FH_SDBR | 10), "\\Device\\Harddisk69\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr11", BRACK(FH_SDBR | 11), "\\Device\\Harddisk69\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr12", BRACK(FH_SDBR | 12), "\\Device\\Harddisk69\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr13", BRACK(FH_SDBR | 13), "\\Device\\Harddisk69\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr14", BRACK(FH_SDBR | 14), "\\Device\\Harddisk69\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbr15", BRACK(FH_SDBR | 15), "\\Device\\Harddisk69\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs1", BRACK(FH_SDBS | 1), "\\Device\\Harddisk70\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs2", BRACK(FH_SDBS | 2), "\\Device\\Harddisk70\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs3", BRACK(FH_SDBS | 3), "\\Device\\Harddisk70\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs4", BRACK(FH_SDBS | 4), "\\Device\\Harddisk70\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs5", BRACK(FH_SDBS | 5), "\\Device\\Harddisk70\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs6", BRACK(FH_SDBS | 6), "\\Device\\Harddisk70\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs7", BRACK(FH_SDBS | 7), "\\Device\\Harddisk70\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs8", BRACK(FH_SDBS | 8), "\\Device\\Harddisk70\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs9", BRACK(FH_SDBS | 9), "\\Device\\Harddisk70\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs10", BRACK(FH_SDBS | 10), "\\Device\\Harddisk70\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs11", BRACK(FH_SDBS | 11), "\\Device\\Harddisk70\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs12", BRACK(FH_SDBS | 12), "\\Device\\Harddisk70\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs13", BRACK(FH_SDBS | 13), "\\Device\\Harddisk70\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs14", BRACK(FH_SDBS | 14), "\\Device\\Harddisk70\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbs15", BRACK(FH_SDBS | 15), "\\Device\\Harddisk70\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt1", BRACK(FH_SDBT | 1), "\\Device\\Harddisk71\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt2", BRACK(FH_SDBT | 2), "\\Device\\Harddisk71\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt3", BRACK(FH_SDBT | 3), "\\Device\\Harddisk71\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt4", BRACK(FH_SDBT | 4), "\\Device\\Harddisk71\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt5", BRACK(FH_SDBT | 5), "\\Device\\Harddisk71\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt6", BRACK(FH_SDBT | 6), "\\Device\\Harddisk71\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt7", BRACK(FH_SDBT | 7), "\\Device\\Harddisk71\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt8", BRACK(FH_SDBT | 8), "\\Device\\Harddisk71\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt9", BRACK(FH_SDBT | 9), "\\Device\\Harddisk71\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt10", BRACK(FH_SDBT | 10), "\\Device\\Harddisk71\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt11", BRACK(FH_SDBT | 11), "\\Device\\Harddisk71\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt12", BRACK(FH_SDBT | 12), "\\Device\\Harddisk71\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt13", BRACK(FH_SDBT | 13), "\\Device\\Harddisk71\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt14", BRACK(FH_SDBT | 14), "\\Device\\Harddisk71\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbt15", BRACK(FH_SDBT | 15), "\\Device\\Harddisk71\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu1", BRACK(FH_SDBU | 1), "\\Device\\Harddisk72\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu2", BRACK(FH_SDBU | 2), "\\Device\\Harddisk72\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu3", BRACK(FH_SDBU | 3), "\\Device\\Harddisk72\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu4", BRACK(FH_SDBU | 4), "\\Device\\Harddisk72\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu5", BRACK(FH_SDBU | 5), "\\Device\\Harddisk72\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu6", BRACK(FH_SDBU | 6), "\\Device\\Harddisk72\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu7", BRACK(FH_SDBU | 7), "\\Device\\Harddisk72\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu8", BRACK(FH_SDBU | 8), "\\Device\\Harddisk72\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu9", BRACK(FH_SDBU | 9), "\\Device\\Harddisk72\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu10", BRACK(FH_SDBU | 10), "\\Device\\Harddisk72\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu11", BRACK(FH_SDBU | 11), "\\Device\\Harddisk72\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu12", BRACK(FH_SDBU | 12), "\\Device\\Harddisk72\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu13", BRACK(FH_SDBU | 13), "\\Device\\Harddisk72\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu14", BRACK(FH_SDBU | 14), "\\Device\\Harddisk72\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbu15", BRACK(FH_SDBU | 15), "\\Device\\Harddisk72\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv1", BRACK(FH_SDBV | 1), "\\Device\\Harddisk73\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv2", BRACK(FH_SDBV | 2), "\\Device\\Harddisk73\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv3", BRACK(FH_SDBV | 3), "\\Device\\Harddisk73\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv4", BRACK(FH_SDBV | 4), "\\Device\\Harddisk73\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv5", BRACK(FH_SDBV | 5), "\\Device\\Harddisk73\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv6", BRACK(FH_SDBV | 6), "\\Device\\Harddisk73\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv7", BRACK(FH_SDBV | 7), "\\Device\\Harddisk73\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv8", BRACK(FH_SDBV | 8), "\\Device\\Harddisk73\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv9", BRACK(FH_SDBV | 9), "\\Device\\Harddisk73\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv10", BRACK(FH_SDBV | 10), "\\Device\\Harddisk73\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv11", BRACK(FH_SDBV | 11), "\\Device\\Harddisk73\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv12", BRACK(FH_SDBV | 12), "\\Device\\Harddisk73\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv13", BRACK(FH_SDBV | 13), "\\Device\\Harddisk73\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv14", BRACK(FH_SDBV | 14), "\\Device\\Harddisk73\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbv15", BRACK(FH_SDBV | 15), "\\Device\\Harddisk73\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw1", BRACK(FH_SDBW | 1), "\\Device\\Harddisk74\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw2", BRACK(FH_SDBW | 2), "\\Device\\Harddisk74\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw3", BRACK(FH_SDBW | 3), "\\Device\\Harddisk74\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw4", BRACK(FH_SDBW | 4), "\\Device\\Harddisk74\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw5", BRACK(FH_SDBW | 5), "\\Device\\Harddisk74\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw6", BRACK(FH_SDBW | 6), "\\Device\\Harddisk74\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw7", BRACK(FH_SDBW | 7), "\\Device\\Harddisk74\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw8", BRACK(FH_SDBW | 8), "\\Device\\Harddisk74\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw9", BRACK(FH_SDBW | 9), "\\Device\\Harddisk74\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw10", BRACK(FH_SDBW | 10), "\\Device\\Harddisk74\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw11", BRACK(FH_SDBW | 11), "\\Device\\Harddisk74\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw12", BRACK(FH_SDBW | 12), "\\Device\\Harddisk74\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw13", BRACK(FH_SDBW | 13), "\\Device\\Harddisk74\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw14", BRACK(FH_SDBW | 14), "\\Device\\Harddisk74\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbw15", BRACK(FH_SDBW | 15), "\\Device\\Harddisk74\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx1", BRACK(FH_SDBX | 1), "\\Device\\Harddisk75\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx2", BRACK(FH_SDBX | 2), "\\Device\\Harddisk75\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx3", BRACK(FH_SDBX | 3), "\\Device\\Harddisk75\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx4", BRACK(FH_SDBX | 4), "\\Device\\Harddisk75\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx5", BRACK(FH_SDBX | 5), "\\Device\\Harddisk75\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx6", BRACK(FH_SDBX | 6), "\\Device\\Harddisk75\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx7", BRACK(FH_SDBX | 7), "\\Device\\Harddisk75\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx8", BRACK(FH_SDBX | 8), "\\Device\\Harddisk75\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx9", BRACK(FH_SDBX | 9), "\\Device\\Harddisk75\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx10", BRACK(FH_SDBX | 10), "\\Device\\Harddisk75\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx11", BRACK(FH_SDBX | 11), "\\Device\\Harddisk75\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx12", BRACK(FH_SDBX | 12), "\\Device\\Harddisk75\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx13", BRACK(FH_SDBX | 13), "\\Device\\Harddisk75\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx14", BRACK(FH_SDBX | 14), "\\Device\\Harddisk75\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbx15", BRACK(FH_SDBX | 15), "\\Device\\Harddisk75\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby1", BRACK(FH_SDBY | 1), "\\Device\\Harddisk76\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby2", BRACK(FH_SDBY | 2), "\\Device\\Harddisk76\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby3", BRACK(FH_SDBY | 3), "\\Device\\Harddisk76\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby4", BRACK(FH_SDBY | 4), "\\Device\\Harddisk76\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby5", BRACK(FH_SDBY | 5), "\\Device\\Harddisk76\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby6", BRACK(FH_SDBY | 6), "\\Device\\Harddisk76\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby7", BRACK(FH_SDBY | 7), "\\Device\\Harddisk76\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby8", BRACK(FH_SDBY | 8), "\\Device\\Harddisk76\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby9", BRACK(FH_SDBY | 9), "\\Device\\Harddisk76\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby10", BRACK(FH_SDBY | 10), "\\Device\\Harddisk76\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby11", BRACK(FH_SDBY | 11), "\\Device\\Harddisk76\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby12", BRACK(FH_SDBY | 12), "\\Device\\Harddisk76\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby13", BRACK(FH_SDBY | 13), "\\Device\\Harddisk76\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby14", BRACK(FH_SDBY | 14), "\\Device\\Harddisk76\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdby15", BRACK(FH_SDBY | 15), "\\Device\\Harddisk76\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz1", BRACK(FH_SDBZ | 1), "\\Device\\Harddisk77\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz2", BRACK(FH_SDBZ | 2), "\\Device\\Harddisk77\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz3", BRACK(FH_SDBZ | 3), "\\Device\\Harddisk77\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz4", BRACK(FH_SDBZ | 4), "\\Device\\Harddisk77\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz5", BRACK(FH_SDBZ | 5), "\\Device\\Harddisk77\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz6", BRACK(FH_SDBZ | 6), "\\Device\\Harddisk77\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz7", BRACK(FH_SDBZ | 7), "\\Device\\Harddisk77\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz8", BRACK(FH_SDBZ | 8), "\\Device\\Harddisk77\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz9", BRACK(FH_SDBZ | 9), "\\Device\\Harddisk77\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz10", BRACK(FH_SDBZ | 10), "\\Device\\Harddisk77\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz11", BRACK(FH_SDBZ | 11), "\\Device\\Harddisk77\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz12", BRACK(FH_SDBZ | 12), "\\Device\\Harddisk77\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz13", BRACK(FH_SDBZ | 13), "\\Device\\Harddisk77\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz14", BRACK(FH_SDBZ | 14), "\\Device\\Harddisk77\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdbz15", BRACK(FH_SDBZ | 15), "\\Device\\Harddisk77\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca", BRACK(FH_SDCA), "\\Device\\Harddisk78\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb", BRACK(FH_SDCB), "\\Device\\Harddisk79\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc", BRACK(FH_SDCC), "\\Device\\Harddisk80\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd", BRACK(FH_SDCD), "\\Device\\Harddisk81\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce", BRACK(FH_SDCE), "\\Device\\Harddisk82\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf", BRACK(FH_SDCF), "\\Device\\Harddisk83\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg", BRACK(FH_SDCG), "\\Device\\Harddisk84\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch", BRACK(FH_SDCH), "\\Device\\Harddisk85\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci", BRACK(FH_SDCI), "\\Device\\Harddisk86\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj", BRACK(FH_SDCJ), "\\Device\\Harddisk87\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck", BRACK(FH_SDCK), "\\Device\\Harddisk88\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl", BRACK(FH_SDCL), "\\Device\\Harddisk89\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm", BRACK(FH_SDCM), "\\Device\\Harddisk90\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn", BRACK(FH_SDCN), "\\Device\\Harddisk91\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco", BRACK(FH_SDCO), "\\Device\\Harddisk92\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp", BRACK(FH_SDCP), "\\Device\\Harddisk93\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq", BRACK(FH_SDCQ), "\\Device\\Harddisk94\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr", BRACK(FH_SDCR), "\\Device\\Harddisk95\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs", BRACK(FH_SDCS), "\\Device\\Harddisk96\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct", BRACK(FH_SDCT), "\\Device\\Harddisk97\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu", BRACK(FH_SDCU), "\\Device\\Harddisk98\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv", BRACK(FH_SDCV), "\\Device\\Harddisk99\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw", BRACK(FH_SDCW), "\\Device\\Harddisk100\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx", BRACK(FH_SDCX), "\\Device\\Harddisk101\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy", BRACK(FH_SDCY), "\\Device\\Harddisk102\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz", BRACK(FH_SDCZ), "\\Device\\Harddisk103\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca1", BRACK(FH_SDCA | 1), "\\Device\\Harddisk78\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca2", BRACK(FH_SDCA | 2), "\\Device\\Harddisk78\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca3", BRACK(FH_SDCA | 3), "\\Device\\Harddisk78\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca4", BRACK(FH_SDCA | 4), "\\Device\\Harddisk78\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca5", BRACK(FH_SDCA | 5), "\\Device\\Harddisk78\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca6", BRACK(FH_SDCA | 6), "\\Device\\Harddisk78\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca7", BRACK(FH_SDCA | 7), "\\Device\\Harddisk78\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca8", BRACK(FH_SDCA | 8), "\\Device\\Harddisk78\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca9", BRACK(FH_SDCA | 9), "\\Device\\Harddisk78\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca10", BRACK(FH_SDCA | 10), "\\Device\\Harddisk78\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca11", BRACK(FH_SDCA | 11), "\\Device\\Harddisk78\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca12", BRACK(FH_SDCA | 12), "\\Device\\Harddisk78\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca13", BRACK(FH_SDCA | 13), "\\Device\\Harddisk78\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca14", BRACK(FH_SDCA | 14), "\\Device\\Harddisk78\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdca15", BRACK(FH_SDCA | 15), "\\Device\\Harddisk78\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb1", BRACK(FH_SDCB | 1), "\\Device\\Harddisk79\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb2", BRACK(FH_SDCB | 2), "\\Device\\Harddisk79\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb3", BRACK(FH_SDCB | 3), "\\Device\\Harddisk79\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb4", BRACK(FH_SDCB | 4), "\\Device\\Harddisk79\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb5", BRACK(FH_SDCB | 5), "\\Device\\Harddisk79\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb6", BRACK(FH_SDCB | 6), "\\Device\\Harddisk79\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb7", BRACK(FH_SDCB | 7), "\\Device\\Harddisk79\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb8", BRACK(FH_SDCB | 8), "\\Device\\Harddisk79\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb9", BRACK(FH_SDCB | 9), "\\Device\\Harddisk79\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb10", BRACK(FH_SDCB | 10), "\\Device\\Harddisk79\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb11", BRACK(FH_SDCB | 11), "\\Device\\Harddisk79\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb12", BRACK(FH_SDCB | 12), "\\Device\\Harddisk79\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb13", BRACK(FH_SDCB | 13), "\\Device\\Harddisk79\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb14", BRACK(FH_SDCB | 14), "\\Device\\Harddisk79\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcb15", BRACK(FH_SDCB | 15), "\\Device\\Harddisk79\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc1", BRACK(FH_SDCC | 1), "\\Device\\Harddisk80\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc2", BRACK(FH_SDCC | 2), "\\Device\\Harddisk80\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc3", BRACK(FH_SDCC | 3), "\\Device\\Harddisk80\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc4", BRACK(FH_SDCC | 4), "\\Device\\Harddisk80\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc5", BRACK(FH_SDCC | 5), "\\Device\\Harddisk80\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc6", BRACK(FH_SDCC | 6), "\\Device\\Harddisk80\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc7", BRACK(FH_SDCC | 7), "\\Device\\Harddisk80\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc8", BRACK(FH_SDCC | 8), "\\Device\\Harddisk80\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc9", BRACK(FH_SDCC | 9), "\\Device\\Harddisk80\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc10", BRACK(FH_SDCC | 10), "\\Device\\Harddisk80\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc11", BRACK(FH_SDCC | 11), "\\Device\\Harddisk80\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc12", BRACK(FH_SDCC | 12), "\\Device\\Harddisk80\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc13", BRACK(FH_SDCC | 13), "\\Device\\Harddisk80\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc14", BRACK(FH_SDCC | 14), "\\Device\\Harddisk80\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcc15", BRACK(FH_SDCC | 15), "\\Device\\Harddisk80\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd1", BRACK(FH_SDCD | 1), "\\Device\\Harddisk81\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd2", BRACK(FH_SDCD | 2), "\\Device\\Harddisk81\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd3", BRACK(FH_SDCD | 3), "\\Device\\Harddisk81\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd4", BRACK(FH_SDCD | 4), "\\Device\\Harddisk81\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd5", BRACK(FH_SDCD | 5), "\\Device\\Harddisk81\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd6", BRACK(FH_SDCD | 6), "\\Device\\Harddisk81\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd7", BRACK(FH_SDCD | 7), "\\Device\\Harddisk81\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd8", BRACK(FH_SDCD | 8), "\\Device\\Harddisk81\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd9", BRACK(FH_SDCD | 9), "\\Device\\Harddisk81\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd10", BRACK(FH_SDCD | 10), "\\Device\\Harddisk81\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd11", BRACK(FH_SDCD | 11), "\\Device\\Harddisk81\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd12", BRACK(FH_SDCD | 12), "\\Device\\Harddisk81\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd13", BRACK(FH_SDCD | 13), "\\Device\\Harddisk81\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd14", BRACK(FH_SDCD | 14), "\\Device\\Harddisk81\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcd15", BRACK(FH_SDCD | 15), "\\Device\\Harddisk81\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce1", BRACK(FH_SDCE | 1), "\\Device\\Harddisk82\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce2", BRACK(FH_SDCE | 2), "\\Device\\Harddisk82\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce3", BRACK(FH_SDCE | 3), "\\Device\\Harddisk82\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce4", BRACK(FH_SDCE | 4), "\\Device\\Harddisk82\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce5", BRACK(FH_SDCE | 5), "\\Device\\Harddisk82\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce6", BRACK(FH_SDCE | 6), "\\Device\\Harddisk82\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce7", BRACK(FH_SDCE | 7), "\\Device\\Harddisk82\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce8", BRACK(FH_SDCE | 8), "\\Device\\Harddisk82\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce9", BRACK(FH_SDCE | 9), "\\Device\\Harddisk82\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce10", BRACK(FH_SDCE | 10), "\\Device\\Harddisk82\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce11", BRACK(FH_SDCE | 11), "\\Device\\Harddisk82\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce12", BRACK(FH_SDCE | 12), "\\Device\\Harddisk82\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce13", BRACK(FH_SDCE | 13), "\\Device\\Harddisk82\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce14", BRACK(FH_SDCE | 14), "\\Device\\Harddisk82\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdce15", BRACK(FH_SDCE | 15), "\\Device\\Harddisk82\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf1", BRACK(FH_SDCF | 1), "\\Device\\Harddisk83\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf2", BRACK(FH_SDCF | 2), "\\Device\\Harddisk83\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf3", BRACK(FH_SDCF | 3), "\\Device\\Harddisk83\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf4", BRACK(FH_SDCF | 4), "\\Device\\Harddisk83\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf5", BRACK(FH_SDCF | 5), "\\Device\\Harddisk83\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf6", BRACK(FH_SDCF | 6), "\\Device\\Harddisk83\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf7", BRACK(FH_SDCF | 7), "\\Device\\Harddisk83\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf8", BRACK(FH_SDCF | 8), "\\Device\\Harddisk83\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf9", BRACK(FH_SDCF | 9), "\\Device\\Harddisk83\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf10", BRACK(FH_SDCF | 10), "\\Device\\Harddisk83\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf11", BRACK(FH_SDCF | 11), "\\Device\\Harddisk83\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf12", BRACK(FH_SDCF | 12), "\\Device\\Harddisk83\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf13", BRACK(FH_SDCF | 13), "\\Device\\Harddisk83\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf14", BRACK(FH_SDCF | 14), "\\Device\\Harddisk83\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcf15", BRACK(FH_SDCF | 15), "\\Device\\Harddisk83\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg1", BRACK(FH_SDCG | 1), "\\Device\\Harddisk84\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg2", BRACK(FH_SDCG | 2), "\\Device\\Harddisk84\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg3", BRACK(FH_SDCG | 3), "\\Device\\Harddisk84\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg4", BRACK(FH_SDCG | 4), "\\Device\\Harddisk84\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg5", BRACK(FH_SDCG | 5), "\\Device\\Harddisk84\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg6", BRACK(FH_SDCG | 6), "\\Device\\Harddisk84\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg7", BRACK(FH_SDCG | 7), "\\Device\\Harddisk84\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg8", BRACK(FH_SDCG | 8), "\\Device\\Harddisk84\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg9", BRACK(FH_SDCG | 9), "\\Device\\Harddisk84\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg10", BRACK(FH_SDCG | 10), "\\Device\\Harddisk84\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg11", BRACK(FH_SDCG | 11), "\\Device\\Harddisk84\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg12", BRACK(FH_SDCG | 12), "\\Device\\Harddisk84\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg13", BRACK(FH_SDCG | 13), "\\Device\\Harddisk84\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg14", BRACK(FH_SDCG | 14), "\\Device\\Harddisk84\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcg15", BRACK(FH_SDCG | 15), "\\Device\\Harddisk84\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch1", BRACK(FH_SDCH | 1), "\\Device\\Harddisk85\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch2", BRACK(FH_SDCH | 2), "\\Device\\Harddisk85\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch3", BRACK(FH_SDCH | 3), "\\Device\\Harddisk85\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch4", BRACK(FH_SDCH | 4), "\\Device\\Harddisk85\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch5", BRACK(FH_SDCH | 5), "\\Device\\Harddisk85\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch6", BRACK(FH_SDCH | 6), "\\Device\\Harddisk85\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch7", BRACK(FH_SDCH | 7), "\\Device\\Harddisk85\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch8", BRACK(FH_SDCH | 8), "\\Device\\Harddisk85\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch9", BRACK(FH_SDCH | 9), "\\Device\\Harddisk85\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch10", BRACK(FH_SDCH | 10), "\\Device\\Harddisk85\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch11", BRACK(FH_SDCH | 11), "\\Device\\Harddisk85\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch12", BRACK(FH_SDCH | 12), "\\Device\\Harddisk85\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch13", BRACK(FH_SDCH | 13), "\\Device\\Harddisk85\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch14", BRACK(FH_SDCH | 14), "\\Device\\Harddisk85\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdch15", BRACK(FH_SDCH | 15), "\\Device\\Harddisk85\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci1", BRACK(FH_SDCI | 1), "\\Device\\Harddisk86\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci2", BRACK(FH_SDCI | 2), "\\Device\\Harddisk86\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci3", BRACK(FH_SDCI | 3), "\\Device\\Harddisk86\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci4", BRACK(FH_SDCI | 4), "\\Device\\Harddisk86\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci5", BRACK(FH_SDCI | 5), "\\Device\\Harddisk86\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci6", BRACK(FH_SDCI | 6), "\\Device\\Harddisk86\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci7", BRACK(FH_SDCI | 7), "\\Device\\Harddisk86\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci8", BRACK(FH_SDCI | 8), "\\Device\\Harddisk86\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci9", BRACK(FH_SDCI | 9), "\\Device\\Harddisk86\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci10", BRACK(FH_SDCI | 10), "\\Device\\Harddisk86\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci11", BRACK(FH_SDCI | 11), "\\Device\\Harddisk86\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci12", BRACK(FH_SDCI | 12), "\\Device\\Harddisk86\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci13", BRACK(FH_SDCI | 13), "\\Device\\Harddisk86\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci14", BRACK(FH_SDCI | 14), "\\Device\\Harddisk86\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdci15", BRACK(FH_SDCI | 15), "\\Device\\Harddisk86\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj1", BRACK(FH_SDCJ | 1), "\\Device\\Harddisk87\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj2", BRACK(FH_SDCJ | 2), "\\Device\\Harddisk87\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj3", BRACK(FH_SDCJ | 3), "\\Device\\Harddisk87\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj4", BRACK(FH_SDCJ | 4), "\\Device\\Harddisk87\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj5", BRACK(FH_SDCJ | 5), "\\Device\\Harddisk87\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj6", BRACK(FH_SDCJ | 6), "\\Device\\Harddisk87\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj7", BRACK(FH_SDCJ | 7), "\\Device\\Harddisk87\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj8", BRACK(FH_SDCJ | 8), "\\Device\\Harddisk87\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj9", BRACK(FH_SDCJ | 9), "\\Device\\Harddisk87\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj10", BRACK(FH_SDCJ | 10), "\\Device\\Harddisk87\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj11", BRACK(FH_SDCJ | 11), "\\Device\\Harddisk87\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj12", BRACK(FH_SDCJ | 12), "\\Device\\Harddisk87\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj13", BRACK(FH_SDCJ | 13), "\\Device\\Harddisk87\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj14", BRACK(FH_SDCJ | 14), "\\Device\\Harddisk87\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcj15", BRACK(FH_SDCJ | 15), "\\Device\\Harddisk87\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck1", BRACK(FH_SDCK | 1), "\\Device\\Harddisk88\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck2", BRACK(FH_SDCK | 2), "\\Device\\Harddisk88\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck3", BRACK(FH_SDCK | 3), "\\Device\\Harddisk88\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck4", BRACK(FH_SDCK | 4), "\\Device\\Harddisk88\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck5", BRACK(FH_SDCK | 5), "\\Device\\Harddisk88\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck6", BRACK(FH_SDCK | 6), "\\Device\\Harddisk88\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck7", BRACK(FH_SDCK | 7), "\\Device\\Harddisk88\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck8", BRACK(FH_SDCK | 8), "\\Device\\Harddisk88\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck9", BRACK(FH_SDCK | 9), "\\Device\\Harddisk88\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck10", BRACK(FH_SDCK | 10), "\\Device\\Harddisk88\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck11", BRACK(FH_SDCK | 11), "\\Device\\Harddisk88\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck12", BRACK(FH_SDCK | 12), "\\Device\\Harddisk88\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck13", BRACK(FH_SDCK | 13), "\\Device\\Harddisk88\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck14", BRACK(FH_SDCK | 14), "\\Device\\Harddisk88\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdck15", BRACK(FH_SDCK | 15), "\\Device\\Harddisk88\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl1", BRACK(FH_SDCL | 1), "\\Device\\Harddisk89\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl2", BRACK(FH_SDCL | 2), "\\Device\\Harddisk89\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl3", BRACK(FH_SDCL | 3), "\\Device\\Harddisk89\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl4", BRACK(FH_SDCL | 4), "\\Device\\Harddisk89\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl5", BRACK(FH_SDCL | 5), "\\Device\\Harddisk89\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl6", BRACK(FH_SDCL | 6), "\\Device\\Harddisk89\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl7", BRACK(FH_SDCL | 7), "\\Device\\Harddisk89\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl8", BRACK(FH_SDCL | 8), "\\Device\\Harddisk89\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl9", BRACK(FH_SDCL | 9), "\\Device\\Harddisk89\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl10", BRACK(FH_SDCL | 10), "\\Device\\Harddisk89\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl11", BRACK(FH_SDCL | 11), "\\Device\\Harddisk89\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl12", BRACK(FH_SDCL | 12), "\\Device\\Harddisk89\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl13", BRACK(FH_SDCL | 13), "\\Device\\Harddisk89\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl14", BRACK(FH_SDCL | 14), "\\Device\\Harddisk89\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcl15", BRACK(FH_SDCL | 15), "\\Device\\Harddisk89\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm1", BRACK(FH_SDCM | 1), "\\Device\\Harddisk90\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm2", BRACK(FH_SDCM | 2), "\\Device\\Harddisk90\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm3", BRACK(FH_SDCM | 3), "\\Device\\Harddisk90\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm4", BRACK(FH_SDCM | 4), "\\Device\\Harddisk90\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm5", BRACK(FH_SDCM | 5), "\\Device\\Harddisk90\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm6", BRACK(FH_SDCM | 6), "\\Device\\Harddisk90\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm7", BRACK(FH_SDCM | 7), "\\Device\\Harddisk90\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm8", BRACK(FH_SDCM | 8), "\\Device\\Harddisk90\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm9", BRACK(FH_SDCM | 9), "\\Device\\Harddisk90\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm10", BRACK(FH_SDCM | 10), "\\Device\\Harddisk90\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm11", BRACK(FH_SDCM | 11), "\\Device\\Harddisk90\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm12", BRACK(FH_SDCM | 12), "\\Device\\Harddisk90\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm13", BRACK(FH_SDCM | 13), "\\Device\\Harddisk90\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm14", BRACK(FH_SDCM | 14), "\\Device\\Harddisk90\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcm15", BRACK(FH_SDCM | 15), "\\Device\\Harddisk90\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn1", BRACK(FH_SDCN | 1), "\\Device\\Harddisk91\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn2", BRACK(FH_SDCN | 2), "\\Device\\Harddisk91\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn3", BRACK(FH_SDCN | 3), "\\Device\\Harddisk91\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn4", BRACK(FH_SDCN | 4), "\\Device\\Harddisk91\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn5", BRACK(FH_SDCN | 5), "\\Device\\Harddisk91\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn6", BRACK(FH_SDCN | 6), "\\Device\\Harddisk91\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn7", BRACK(FH_SDCN | 7), "\\Device\\Harddisk91\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn8", BRACK(FH_SDCN | 8), "\\Device\\Harddisk91\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn9", BRACK(FH_SDCN | 9), "\\Device\\Harddisk91\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn10", BRACK(FH_SDCN | 10), "\\Device\\Harddisk91\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn11", BRACK(FH_SDCN | 11), "\\Device\\Harddisk91\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn12", BRACK(FH_SDCN | 12), "\\Device\\Harddisk91\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn13", BRACK(FH_SDCN | 13), "\\Device\\Harddisk91\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn14", BRACK(FH_SDCN | 14), "\\Device\\Harddisk91\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcn15", BRACK(FH_SDCN | 15), "\\Device\\Harddisk91\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco1", BRACK(FH_SDCO | 1), "\\Device\\Harddisk92\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco2", BRACK(FH_SDCO | 2), "\\Device\\Harddisk92\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco3", BRACK(FH_SDCO | 3), "\\Device\\Harddisk92\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco4", BRACK(FH_SDCO | 4), "\\Device\\Harddisk92\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco5", BRACK(FH_SDCO | 5), "\\Device\\Harddisk92\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco6", BRACK(FH_SDCO | 6), "\\Device\\Harddisk92\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco7", BRACK(FH_SDCO | 7), "\\Device\\Harddisk92\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco8", BRACK(FH_SDCO | 8), "\\Device\\Harddisk92\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco9", BRACK(FH_SDCO | 9), "\\Device\\Harddisk92\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco10", BRACK(FH_SDCO | 10), "\\Device\\Harddisk92\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco11", BRACK(FH_SDCO | 11), "\\Device\\Harddisk92\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco12", BRACK(FH_SDCO | 12), "\\Device\\Harddisk92\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco13", BRACK(FH_SDCO | 13), "\\Device\\Harddisk92\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco14", BRACK(FH_SDCO | 14), "\\Device\\Harddisk92\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdco15", BRACK(FH_SDCO | 15), "\\Device\\Harddisk92\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp1", BRACK(FH_SDCP | 1), "\\Device\\Harddisk93\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp2", BRACK(FH_SDCP | 2), "\\Device\\Harddisk93\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp3", BRACK(FH_SDCP | 3), "\\Device\\Harddisk93\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp4", BRACK(FH_SDCP | 4), "\\Device\\Harddisk93\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp5", BRACK(FH_SDCP | 5), "\\Device\\Harddisk93\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp6", BRACK(FH_SDCP | 6), "\\Device\\Harddisk93\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp7", BRACK(FH_SDCP | 7), "\\Device\\Harddisk93\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp8", BRACK(FH_SDCP | 8), "\\Device\\Harddisk93\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp9", BRACK(FH_SDCP | 9), "\\Device\\Harddisk93\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp10", BRACK(FH_SDCP | 10), "\\Device\\Harddisk93\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp11", BRACK(FH_SDCP | 11), "\\Device\\Harddisk93\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp12", BRACK(FH_SDCP | 12), "\\Device\\Harddisk93\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp13", BRACK(FH_SDCP | 13), "\\Device\\Harddisk93\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp14", BRACK(FH_SDCP | 14), "\\Device\\Harddisk93\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcp15", BRACK(FH_SDCP | 15), "\\Device\\Harddisk93\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq1", BRACK(FH_SDCQ | 1), "\\Device\\Harddisk94\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq2", BRACK(FH_SDCQ | 2), "\\Device\\Harddisk94\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq3", BRACK(FH_SDCQ | 3), "\\Device\\Harddisk94\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq4", BRACK(FH_SDCQ | 4), "\\Device\\Harddisk94\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq5", BRACK(FH_SDCQ | 5), "\\Device\\Harddisk94\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq6", BRACK(FH_SDCQ | 6), "\\Device\\Harddisk94\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq7", BRACK(FH_SDCQ | 7), "\\Device\\Harddisk94\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq8", BRACK(FH_SDCQ | 8), "\\Device\\Harddisk94\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq9", BRACK(FH_SDCQ | 9), "\\Device\\Harddisk94\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq10", BRACK(FH_SDCQ | 10), "\\Device\\Harddisk94\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq11", BRACK(FH_SDCQ | 11), "\\Device\\Harddisk94\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq12", BRACK(FH_SDCQ | 12), "\\Device\\Harddisk94\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq13", BRACK(FH_SDCQ | 13), "\\Device\\Harddisk94\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq14", BRACK(FH_SDCQ | 14), "\\Device\\Harddisk94\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcq15", BRACK(FH_SDCQ | 15), "\\Device\\Harddisk94\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr1", BRACK(FH_SDCR | 1), "\\Device\\Harddisk95\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr2", BRACK(FH_SDCR | 2), "\\Device\\Harddisk95\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr3", BRACK(FH_SDCR | 3), "\\Device\\Harddisk95\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr4", BRACK(FH_SDCR | 4), "\\Device\\Harddisk95\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr5", BRACK(FH_SDCR | 5), "\\Device\\Harddisk95\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr6", BRACK(FH_SDCR | 6), "\\Device\\Harddisk95\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr7", BRACK(FH_SDCR | 7), "\\Device\\Harddisk95\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr8", BRACK(FH_SDCR | 8), "\\Device\\Harddisk95\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr9", BRACK(FH_SDCR | 9), "\\Device\\Harddisk95\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr10", BRACK(FH_SDCR | 10), "\\Device\\Harddisk95\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr11", BRACK(FH_SDCR | 11), "\\Device\\Harddisk95\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr12", BRACK(FH_SDCR | 12), "\\Device\\Harddisk95\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr13", BRACK(FH_SDCR | 13), "\\Device\\Harddisk95\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr14", BRACK(FH_SDCR | 14), "\\Device\\Harddisk95\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcr15", BRACK(FH_SDCR | 15), "\\Device\\Harddisk95\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs1", BRACK(FH_SDCS | 1), "\\Device\\Harddisk96\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs2", BRACK(FH_SDCS | 2), "\\Device\\Harddisk96\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs3", BRACK(FH_SDCS | 3), "\\Device\\Harddisk96\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs4", BRACK(FH_SDCS | 4), "\\Device\\Harddisk96\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs5", BRACK(FH_SDCS | 5), "\\Device\\Harddisk96\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs6", BRACK(FH_SDCS | 6), "\\Device\\Harddisk96\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs7", BRACK(FH_SDCS | 7), "\\Device\\Harddisk96\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs8", BRACK(FH_SDCS | 8), "\\Device\\Harddisk96\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs9", BRACK(FH_SDCS | 9), "\\Device\\Harddisk96\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs10", BRACK(FH_SDCS | 10), "\\Device\\Harddisk96\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs11", BRACK(FH_SDCS | 11), "\\Device\\Harddisk96\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs12", BRACK(FH_SDCS | 12), "\\Device\\Harddisk96\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs13", BRACK(FH_SDCS | 13), "\\Device\\Harddisk96\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs14", BRACK(FH_SDCS | 14), "\\Device\\Harddisk96\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcs15", BRACK(FH_SDCS | 15), "\\Device\\Harddisk96\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct1", BRACK(FH_SDCT | 1), "\\Device\\Harddisk97\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct2", BRACK(FH_SDCT | 2), "\\Device\\Harddisk97\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct3", BRACK(FH_SDCT | 3), "\\Device\\Harddisk97\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct4", BRACK(FH_SDCT | 4), "\\Device\\Harddisk97\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct5", BRACK(FH_SDCT | 5), "\\Device\\Harddisk97\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct6", BRACK(FH_SDCT | 6), "\\Device\\Harddisk97\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct7", BRACK(FH_SDCT | 7), "\\Device\\Harddisk97\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct8", BRACK(FH_SDCT | 8), "\\Device\\Harddisk97\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct9", BRACK(FH_SDCT | 9), "\\Device\\Harddisk97\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct10", BRACK(FH_SDCT | 10), "\\Device\\Harddisk97\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct11", BRACK(FH_SDCT | 11), "\\Device\\Harddisk97\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct12", BRACK(FH_SDCT | 12), "\\Device\\Harddisk97\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct13", BRACK(FH_SDCT | 13), "\\Device\\Harddisk97\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct14", BRACK(FH_SDCT | 14), "\\Device\\Harddisk97\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdct15", BRACK(FH_SDCT | 15), "\\Device\\Harddisk97\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu1", BRACK(FH_SDCU | 1), "\\Device\\Harddisk98\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu2", BRACK(FH_SDCU | 2), "\\Device\\Harddisk98\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu3", BRACK(FH_SDCU | 3), "\\Device\\Harddisk98\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu4", BRACK(FH_SDCU | 4), "\\Device\\Harddisk98\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu5", BRACK(FH_SDCU | 5), "\\Device\\Harddisk98\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu6", BRACK(FH_SDCU | 6), "\\Device\\Harddisk98\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu7", BRACK(FH_SDCU | 7), "\\Device\\Harddisk98\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu8", BRACK(FH_SDCU | 8), "\\Device\\Harddisk98\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu9", BRACK(FH_SDCU | 9), "\\Device\\Harddisk98\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu10", BRACK(FH_SDCU | 10), "\\Device\\Harddisk98\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu11", BRACK(FH_SDCU | 11), "\\Device\\Harddisk98\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu12", BRACK(FH_SDCU | 12), "\\Device\\Harddisk98\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu13", BRACK(FH_SDCU | 13), "\\Device\\Harddisk98\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu14", BRACK(FH_SDCU | 14), "\\Device\\Harddisk98\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcu15", BRACK(FH_SDCU | 15), "\\Device\\Harddisk98\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv1", BRACK(FH_SDCV | 1), "\\Device\\Harddisk99\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv2", BRACK(FH_SDCV | 2), "\\Device\\Harddisk99\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv3", BRACK(FH_SDCV | 3), "\\Device\\Harddisk99\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv4", BRACK(FH_SDCV | 4), "\\Device\\Harddisk99\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv5", BRACK(FH_SDCV | 5), "\\Device\\Harddisk99\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv6", BRACK(FH_SDCV | 6), "\\Device\\Harddisk99\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv7", BRACK(FH_SDCV | 7), "\\Device\\Harddisk99\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv8", BRACK(FH_SDCV | 8), "\\Device\\Harddisk99\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv9", BRACK(FH_SDCV | 9), "\\Device\\Harddisk99\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv10", BRACK(FH_SDCV | 10), "\\Device\\Harddisk99\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv11", BRACK(FH_SDCV | 11), "\\Device\\Harddisk99\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv12", BRACK(FH_SDCV | 12), "\\Device\\Harddisk99\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv13", BRACK(FH_SDCV | 13), "\\Device\\Harddisk99\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv14", BRACK(FH_SDCV | 14), "\\Device\\Harddisk99\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcv15", BRACK(FH_SDCV | 15), "\\Device\\Harddisk99\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw1", BRACK(FH_SDCW | 1), "\\Device\\Harddisk100\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw2", BRACK(FH_SDCW | 2), "\\Device\\Harddisk100\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw3", BRACK(FH_SDCW | 3), "\\Device\\Harddisk100\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw4", BRACK(FH_SDCW | 4), "\\Device\\Harddisk100\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw5", BRACK(FH_SDCW | 5), "\\Device\\Harddisk100\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw6", BRACK(FH_SDCW | 6), "\\Device\\Harddisk100\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw7", BRACK(FH_SDCW | 7), "\\Device\\Harddisk100\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw8", BRACK(FH_SDCW | 8), "\\Device\\Harddisk100\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw9", BRACK(FH_SDCW | 9), "\\Device\\Harddisk100\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw10", BRACK(FH_SDCW | 10), "\\Device\\Harddisk100\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw11", BRACK(FH_SDCW | 11), "\\Device\\Harddisk100\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw12", BRACK(FH_SDCW | 12), "\\Device\\Harddisk100\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw13", BRACK(FH_SDCW | 13), "\\Device\\Harddisk100\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw14", BRACK(FH_SDCW | 14), "\\Device\\Harddisk100\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcw15", BRACK(FH_SDCW | 15), "\\Device\\Harddisk100\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx1", BRACK(FH_SDCX | 1), "\\Device\\Harddisk101\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx2", BRACK(FH_SDCX | 2), "\\Device\\Harddisk101\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx3", BRACK(FH_SDCX | 3), "\\Device\\Harddisk101\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx4", BRACK(FH_SDCX | 4), "\\Device\\Harddisk101\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx5", BRACK(FH_SDCX | 5), "\\Device\\Harddisk101\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx6", BRACK(FH_SDCX | 6), "\\Device\\Harddisk101\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx7", BRACK(FH_SDCX | 7), "\\Device\\Harddisk101\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx8", BRACK(FH_SDCX | 8), "\\Device\\Harddisk101\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx9", BRACK(FH_SDCX | 9), "\\Device\\Harddisk101\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx10", BRACK(FH_SDCX | 10), "\\Device\\Harddisk101\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx11", BRACK(FH_SDCX | 11), "\\Device\\Harddisk101\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx12", BRACK(FH_SDCX | 12), "\\Device\\Harddisk101\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx13", BRACK(FH_SDCX | 13), "\\Device\\Harddisk101\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx14", BRACK(FH_SDCX | 14), "\\Device\\Harddisk101\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcx15", BRACK(FH_SDCX | 15), "\\Device\\Harddisk101\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy1", BRACK(FH_SDCY | 1), "\\Device\\Harddisk102\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy2", BRACK(FH_SDCY | 2), "\\Device\\Harddisk102\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy3", BRACK(FH_SDCY | 3), "\\Device\\Harddisk102\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy4", BRACK(FH_SDCY | 4), "\\Device\\Harddisk102\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy5", BRACK(FH_SDCY | 5), "\\Device\\Harddisk102\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy6", BRACK(FH_SDCY | 6), "\\Device\\Harddisk102\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy7", BRACK(FH_SDCY | 7), "\\Device\\Harddisk102\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy8", BRACK(FH_SDCY | 8), "\\Device\\Harddisk102\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy9", BRACK(FH_SDCY | 9), "\\Device\\Harddisk102\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy10", BRACK(FH_SDCY | 10), "\\Device\\Harddisk102\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy11", BRACK(FH_SDCY | 11), "\\Device\\Harddisk102\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy12", BRACK(FH_SDCY | 12), "\\Device\\Harddisk102\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy13", BRACK(FH_SDCY | 13), "\\Device\\Harddisk102\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy14", BRACK(FH_SDCY | 14), "\\Device\\Harddisk102\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcy15", BRACK(FH_SDCY | 15), "\\Device\\Harddisk102\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz1", BRACK(FH_SDCZ | 1), "\\Device\\Harddisk103\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz2", BRACK(FH_SDCZ | 2), "\\Device\\Harddisk103\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz3", BRACK(FH_SDCZ | 3), "\\Device\\Harddisk103\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz4", BRACK(FH_SDCZ | 4), "\\Device\\Harddisk103\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz5", BRACK(FH_SDCZ | 5), "\\Device\\Harddisk103\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz6", BRACK(FH_SDCZ | 6), "\\Device\\Harddisk103\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz7", BRACK(FH_SDCZ | 7), "\\Device\\Harddisk103\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz8", BRACK(FH_SDCZ | 8), "\\Device\\Harddisk103\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz9", BRACK(FH_SDCZ | 9), "\\Device\\Harddisk103\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz10", BRACK(FH_SDCZ | 10), "\\Device\\Harddisk103\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz11", BRACK(FH_SDCZ | 11), "\\Device\\Harddisk103\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz12", BRACK(FH_SDCZ | 12), "\\Device\\Harddisk103\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz13", BRACK(FH_SDCZ | 13), "\\Device\\Harddisk103\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz14", BRACK(FH_SDCZ | 14), "\\Device\\Harddisk103\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdcz15", BRACK(FH_SDCZ | 15), "\\Device\\Harddisk103\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda", BRACK(FH_SDDA), "\\Device\\Harddisk104\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb", BRACK(FH_SDDB), "\\Device\\Harddisk105\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc", BRACK(FH_SDDC), "\\Device\\Harddisk106\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd", BRACK(FH_SDDD), "\\Device\\Harddisk107\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde", BRACK(FH_SDDE), "\\Device\\Harddisk108\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf", BRACK(FH_SDDF), "\\Device\\Harddisk109\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg", BRACK(FH_SDDG), "\\Device\\Harddisk110\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh", BRACK(FH_SDDH), "\\Device\\Harddisk111\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi", BRACK(FH_SDDI), "\\Device\\Harddisk112\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj", BRACK(FH_SDDJ), "\\Device\\Harddisk113\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk", BRACK(FH_SDDK), "\\Device\\Harddisk114\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl", BRACK(FH_SDDL), "\\Device\\Harddisk115\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm", BRACK(FH_SDDM), "\\Device\\Harddisk116\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn", BRACK(FH_SDDN), "\\Device\\Harddisk117\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo", BRACK(FH_SDDO), "\\Device\\Harddisk118\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp", BRACK(FH_SDDP), "\\Device\\Harddisk119\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq", BRACK(FH_SDDQ), "\\Device\\Harddisk120\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr", BRACK(FH_SDDR), "\\Device\\Harddisk121\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds", BRACK(FH_SDDS), "\\Device\\Harddisk122\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt", BRACK(FH_SDDT), "\\Device\\Harddisk123\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu", BRACK(FH_SDDU), "\\Device\\Harddisk124\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv", BRACK(FH_SDDV), "\\Device\\Harddisk125\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw", BRACK(FH_SDDW), "\\Device\\Harddisk126\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx", BRACK(FH_SDDX), "\\Device\\Harddisk127\\Partition0", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda1", BRACK(FH_SDDA | 1), "\\Device\\Harddisk104\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda2", BRACK(FH_SDDA | 2), "\\Device\\Harddisk104\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda3", BRACK(FH_SDDA | 3), "\\Device\\Harddisk104\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda4", BRACK(FH_SDDA | 4), "\\Device\\Harddisk104\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda5", BRACK(FH_SDDA | 5), "\\Device\\Harddisk104\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda6", BRACK(FH_SDDA | 6), "\\Device\\Harddisk104\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda7", BRACK(FH_SDDA | 7), "\\Device\\Harddisk104\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda8", BRACK(FH_SDDA | 8), "\\Device\\Harddisk104\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda9", BRACK(FH_SDDA | 9), "\\Device\\Harddisk104\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda10", BRACK(FH_SDDA | 10), "\\Device\\Harddisk104\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda11", BRACK(FH_SDDA | 11), "\\Device\\Harddisk104\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda12", BRACK(FH_SDDA | 12), "\\Device\\Harddisk104\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda13", BRACK(FH_SDDA | 13), "\\Device\\Harddisk104\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda14", BRACK(FH_SDDA | 14), "\\Device\\Harddisk104\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdda15", BRACK(FH_SDDA | 15), "\\Device\\Harddisk104\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb1", BRACK(FH_SDDB | 1), "\\Device\\Harddisk105\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb2", BRACK(FH_SDDB | 2), "\\Device\\Harddisk105\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb3", BRACK(FH_SDDB | 3), "\\Device\\Harddisk105\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb4", BRACK(FH_SDDB | 4), "\\Device\\Harddisk105\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb5", BRACK(FH_SDDB | 5), "\\Device\\Harddisk105\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb6", BRACK(FH_SDDB | 6), "\\Device\\Harddisk105\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb7", BRACK(FH_SDDB | 7), "\\Device\\Harddisk105\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb8", BRACK(FH_SDDB | 8), "\\Device\\Harddisk105\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb9", BRACK(FH_SDDB | 9), "\\Device\\Harddisk105\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb10", BRACK(FH_SDDB | 10), "\\Device\\Harddisk105\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb11", BRACK(FH_SDDB | 11), "\\Device\\Harddisk105\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb12", BRACK(FH_SDDB | 12), "\\Device\\Harddisk105\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb13", BRACK(FH_SDDB | 13), "\\Device\\Harddisk105\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb14", BRACK(FH_SDDB | 14), "\\Device\\Harddisk105\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddb15", BRACK(FH_SDDB | 15), "\\Device\\Harddisk105\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc1", BRACK(FH_SDDC | 1), "\\Device\\Harddisk106\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc2", BRACK(FH_SDDC | 2), "\\Device\\Harddisk106\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc3", BRACK(FH_SDDC | 3), "\\Device\\Harddisk106\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc4", BRACK(FH_SDDC | 4), "\\Device\\Harddisk106\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc5", BRACK(FH_SDDC | 5), "\\Device\\Harddisk106\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc6", BRACK(FH_SDDC | 6), "\\Device\\Harddisk106\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc7", BRACK(FH_SDDC | 7), "\\Device\\Harddisk106\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc8", BRACK(FH_SDDC | 8), "\\Device\\Harddisk106\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc9", BRACK(FH_SDDC | 9), "\\Device\\Harddisk106\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc10", BRACK(FH_SDDC | 10), "\\Device\\Harddisk106\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc11", BRACK(FH_SDDC | 11), "\\Device\\Harddisk106\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc12", BRACK(FH_SDDC | 12), "\\Device\\Harddisk106\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc13", BRACK(FH_SDDC | 13), "\\Device\\Harddisk106\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc14", BRACK(FH_SDDC | 14), "\\Device\\Harddisk106\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddc15", BRACK(FH_SDDC | 15), "\\Device\\Harddisk106\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd1", BRACK(FH_SDDD | 1), "\\Device\\Harddisk107\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd2", BRACK(FH_SDDD | 2), "\\Device\\Harddisk107\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd3", BRACK(FH_SDDD | 3), "\\Device\\Harddisk107\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd4", BRACK(FH_SDDD | 4), "\\Device\\Harddisk107\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd5", BRACK(FH_SDDD | 5), "\\Device\\Harddisk107\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd6", BRACK(FH_SDDD | 6), "\\Device\\Harddisk107\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd7", BRACK(FH_SDDD | 7), "\\Device\\Harddisk107\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd8", BRACK(FH_SDDD | 8), "\\Device\\Harddisk107\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd9", BRACK(FH_SDDD | 9), "\\Device\\Harddisk107\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd10", BRACK(FH_SDDD | 10), "\\Device\\Harddisk107\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd11", BRACK(FH_SDDD | 11), "\\Device\\Harddisk107\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd12", BRACK(FH_SDDD | 12), "\\Device\\Harddisk107\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd13", BRACK(FH_SDDD | 13), "\\Device\\Harddisk107\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd14", BRACK(FH_SDDD | 14), "\\Device\\Harddisk107\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddd15", BRACK(FH_SDDD | 15), "\\Device\\Harddisk107\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde1", BRACK(FH_SDDE | 1), "\\Device\\Harddisk108\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde2", BRACK(FH_SDDE | 2), "\\Device\\Harddisk108\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde3", BRACK(FH_SDDE | 3), "\\Device\\Harddisk108\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde4", BRACK(FH_SDDE | 4), "\\Device\\Harddisk108\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde5", BRACK(FH_SDDE | 5), "\\Device\\Harddisk108\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde6", BRACK(FH_SDDE | 6), "\\Device\\Harddisk108\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde7", BRACK(FH_SDDE | 7), "\\Device\\Harddisk108\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde8", BRACK(FH_SDDE | 8), "\\Device\\Harddisk108\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde9", BRACK(FH_SDDE | 9), "\\Device\\Harddisk108\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde10", BRACK(FH_SDDE | 10), "\\Device\\Harddisk108\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde11", BRACK(FH_SDDE | 11), "\\Device\\Harddisk108\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde12", BRACK(FH_SDDE | 12), "\\Device\\Harddisk108\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde13", BRACK(FH_SDDE | 13), "\\Device\\Harddisk108\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde14", BRACK(FH_SDDE | 14), "\\Device\\Harddisk108\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdde15", BRACK(FH_SDDE | 15), "\\Device\\Harddisk108\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf1", BRACK(FH_SDDF | 1), "\\Device\\Harddisk109\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf2", BRACK(FH_SDDF | 2), "\\Device\\Harddisk109\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf3", BRACK(FH_SDDF | 3), "\\Device\\Harddisk109\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf4", BRACK(FH_SDDF | 4), "\\Device\\Harddisk109\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf5", BRACK(FH_SDDF | 5), "\\Device\\Harddisk109\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf6", BRACK(FH_SDDF | 6), "\\Device\\Harddisk109\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf7", BRACK(FH_SDDF | 7), "\\Device\\Harddisk109\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf8", BRACK(FH_SDDF | 8), "\\Device\\Harddisk109\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf9", BRACK(FH_SDDF | 9), "\\Device\\Harddisk109\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf10", BRACK(FH_SDDF | 10), "\\Device\\Harddisk109\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf11", BRACK(FH_SDDF | 11), "\\Device\\Harddisk109\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf12", BRACK(FH_SDDF | 12), "\\Device\\Harddisk109\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf13", BRACK(FH_SDDF | 13), "\\Device\\Harddisk109\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf14", BRACK(FH_SDDF | 14), "\\Device\\Harddisk109\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddf15", BRACK(FH_SDDF | 15), "\\Device\\Harddisk109\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg1", BRACK(FH_SDDG | 1), "\\Device\\Harddisk110\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg2", BRACK(FH_SDDG | 2), "\\Device\\Harddisk110\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg3", BRACK(FH_SDDG | 3), "\\Device\\Harddisk110\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg4", BRACK(FH_SDDG | 4), "\\Device\\Harddisk110\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg5", BRACK(FH_SDDG | 5), "\\Device\\Harddisk110\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg6", BRACK(FH_SDDG | 6), "\\Device\\Harddisk110\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg7", BRACK(FH_SDDG | 7), "\\Device\\Harddisk110\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg8", BRACK(FH_SDDG | 8), "\\Device\\Harddisk110\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg9", BRACK(FH_SDDG | 9), "\\Device\\Harddisk110\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg10", BRACK(FH_SDDG | 10), "\\Device\\Harddisk110\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg11", BRACK(FH_SDDG | 11), "\\Device\\Harddisk110\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg12", BRACK(FH_SDDG | 12), "\\Device\\Harddisk110\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg13", BRACK(FH_SDDG | 13), "\\Device\\Harddisk110\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg14", BRACK(FH_SDDG | 14), "\\Device\\Harddisk110\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddg15", BRACK(FH_SDDG | 15), "\\Device\\Harddisk110\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh1", BRACK(FH_SDDH | 1), "\\Device\\Harddisk111\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh2", BRACK(FH_SDDH | 2), "\\Device\\Harddisk111\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh3", BRACK(FH_SDDH | 3), "\\Device\\Harddisk111\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh4", BRACK(FH_SDDH | 4), "\\Device\\Harddisk111\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh5", BRACK(FH_SDDH | 5), "\\Device\\Harddisk111\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh6", BRACK(FH_SDDH | 6), "\\Device\\Harddisk111\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh7", BRACK(FH_SDDH | 7), "\\Device\\Harddisk111\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh8", BRACK(FH_SDDH | 8), "\\Device\\Harddisk111\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh9", BRACK(FH_SDDH | 9), "\\Device\\Harddisk111\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh10", BRACK(FH_SDDH | 10), "\\Device\\Harddisk111\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh11", BRACK(FH_SDDH | 11), "\\Device\\Harddisk111\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh12", BRACK(FH_SDDH | 12), "\\Device\\Harddisk111\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh13", BRACK(FH_SDDH | 13), "\\Device\\Harddisk111\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh14", BRACK(FH_SDDH | 14), "\\Device\\Harddisk111\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddh15", BRACK(FH_SDDH | 15), "\\Device\\Harddisk111\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi1", BRACK(FH_SDDI | 1), "\\Device\\Harddisk112\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi2", BRACK(FH_SDDI | 2), "\\Device\\Harddisk112\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi3", BRACK(FH_SDDI | 3), "\\Device\\Harddisk112\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi4", BRACK(FH_SDDI | 4), "\\Device\\Harddisk112\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi5", BRACK(FH_SDDI | 5), "\\Device\\Harddisk112\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi6", BRACK(FH_SDDI | 6), "\\Device\\Harddisk112\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi7", BRACK(FH_SDDI | 7), "\\Device\\Harddisk112\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi8", BRACK(FH_SDDI | 8), "\\Device\\Harddisk112\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi9", BRACK(FH_SDDI | 9), "\\Device\\Harddisk112\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi10", BRACK(FH_SDDI | 10), "\\Device\\Harddisk112\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi11", BRACK(FH_SDDI | 11), "\\Device\\Harddisk112\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi12", BRACK(FH_SDDI | 12), "\\Device\\Harddisk112\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi13", BRACK(FH_SDDI | 13), "\\Device\\Harddisk112\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi14", BRACK(FH_SDDI | 14), "\\Device\\Harddisk112\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddi15", BRACK(FH_SDDI | 15), "\\Device\\Harddisk112\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj1", BRACK(FH_SDDJ | 1), "\\Device\\Harddisk113\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj2", BRACK(FH_SDDJ | 2), "\\Device\\Harddisk113\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj3", BRACK(FH_SDDJ | 3), "\\Device\\Harddisk113\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj4", BRACK(FH_SDDJ | 4), "\\Device\\Harddisk113\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj5", BRACK(FH_SDDJ | 5), "\\Device\\Harddisk113\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj6", BRACK(FH_SDDJ | 6), "\\Device\\Harddisk113\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj7", BRACK(FH_SDDJ | 7), "\\Device\\Harddisk113\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj8", BRACK(FH_SDDJ | 8), "\\Device\\Harddisk113\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj9", BRACK(FH_SDDJ | 9), "\\Device\\Harddisk113\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj10", BRACK(FH_SDDJ | 10), "\\Device\\Harddisk113\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj11", BRACK(FH_SDDJ | 11), "\\Device\\Harddisk113\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj12", BRACK(FH_SDDJ | 12), "\\Device\\Harddisk113\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj13", BRACK(FH_SDDJ | 13), "\\Device\\Harddisk113\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj14", BRACK(FH_SDDJ | 14), "\\Device\\Harddisk113\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddj15", BRACK(FH_SDDJ | 15), "\\Device\\Harddisk113\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk1", BRACK(FH_SDDK | 1), "\\Device\\Harddisk114\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk2", BRACK(FH_SDDK | 2), "\\Device\\Harddisk114\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk3", BRACK(FH_SDDK | 3), "\\Device\\Harddisk114\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk4", BRACK(FH_SDDK | 4), "\\Device\\Harddisk114\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk5", BRACK(FH_SDDK | 5), "\\Device\\Harddisk114\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk6", BRACK(FH_SDDK | 6), "\\Device\\Harddisk114\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk7", BRACK(FH_SDDK | 7), "\\Device\\Harddisk114\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk8", BRACK(FH_SDDK | 8), "\\Device\\Harddisk114\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk9", BRACK(FH_SDDK | 9), "\\Device\\Harddisk114\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk10", BRACK(FH_SDDK | 10), "\\Device\\Harddisk114\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk11", BRACK(FH_SDDK | 11), "\\Device\\Harddisk114\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk12", BRACK(FH_SDDK | 12), "\\Device\\Harddisk114\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk13", BRACK(FH_SDDK | 13), "\\Device\\Harddisk114\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk14", BRACK(FH_SDDK | 14), "\\Device\\Harddisk114\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddk15", BRACK(FH_SDDK | 15), "\\Device\\Harddisk114\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl1", BRACK(FH_SDDL | 1), "\\Device\\Harddisk115\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl2", BRACK(FH_SDDL | 2), "\\Device\\Harddisk115\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl3", BRACK(FH_SDDL | 3), "\\Device\\Harddisk115\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl4", BRACK(FH_SDDL | 4), "\\Device\\Harddisk115\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl5", BRACK(FH_SDDL | 5), "\\Device\\Harddisk115\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl6", BRACK(FH_SDDL | 6), "\\Device\\Harddisk115\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl7", BRACK(FH_SDDL | 7), "\\Device\\Harddisk115\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl8", BRACK(FH_SDDL | 8), "\\Device\\Harddisk115\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl9", BRACK(FH_SDDL | 9), "\\Device\\Harddisk115\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl10", BRACK(FH_SDDL | 10), "\\Device\\Harddisk115\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl11", BRACK(FH_SDDL | 11), "\\Device\\Harddisk115\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl12", BRACK(FH_SDDL | 12), "\\Device\\Harddisk115\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl13", BRACK(FH_SDDL | 13), "\\Device\\Harddisk115\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl14", BRACK(FH_SDDL | 14), "\\Device\\Harddisk115\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddl15", BRACK(FH_SDDL | 15), "\\Device\\Harddisk115\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm1", BRACK(FH_SDDM | 1), "\\Device\\Harddisk116\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm2", BRACK(FH_SDDM | 2), "\\Device\\Harddisk116\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm3", BRACK(FH_SDDM | 3), "\\Device\\Harddisk116\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm4", BRACK(FH_SDDM | 4), "\\Device\\Harddisk116\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm5", BRACK(FH_SDDM | 5), "\\Device\\Harddisk116\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm6", BRACK(FH_SDDM | 6), "\\Device\\Harddisk116\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm7", BRACK(FH_SDDM | 7), "\\Device\\Harddisk116\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm8", BRACK(FH_SDDM | 8), "\\Device\\Harddisk116\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm9", BRACK(FH_SDDM | 9), "\\Device\\Harddisk116\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm10", BRACK(FH_SDDM | 10), "\\Device\\Harddisk116\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm11", BRACK(FH_SDDM | 11), "\\Device\\Harddisk116\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm12", BRACK(FH_SDDM | 12), "\\Device\\Harddisk116\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm13", BRACK(FH_SDDM | 13), "\\Device\\Harddisk116\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm14", BRACK(FH_SDDM | 14), "\\Device\\Harddisk116\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddm15", BRACK(FH_SDDM | 15), "\\Device\\Harddisk116\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn1", BRACK(FH_SDDN | 1), "\\Device\\Harddisk117\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn2", BRACK(FH_SDDN | 2), "\\Device\\Harddisk117\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn3", BRACK(FH_SDDN | 3), "\\Device\\Harddisk117\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn4", BRACK(FH_SDDN | 4), "\\Device\\Harddisk117\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn5", BRACK(FH_SDDN | 5), "\\Device\\Harddisk117\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn6", BRACK(FH_SDDN | 6), "\\Device\\Harddisk117\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn7", BRACK(FH_SDDN | 7), "\\Device\\Harddisk117\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn8", BRACK(FH_SDDN | 8), "\\Device\\Harddisk117\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn9", BRACK(FH_SDDN | 9), "\\Device\\Harddisk117\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn10", BRACK(FH_SDDN | 10), "\\Device\\Harddisk117\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn11", BRACK(FH_SDDN | 11), "\\Device\\Harddisk117\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn12", BRACK(FH_SDDN | 12), "\\Device\\Harddisk117\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn13", BRACK(FH_SDDN | 13), "\\Device\\Harddisk117\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn14", BRACK(FH_SDDN | 14), "\\Device\\Harddisk117\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddn15", BRACK(FH_SDDN | 15), "\\Device\\Harddisk117\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo1", BRACK(FH_SDDO | 1), "\\Device\\Harddisk118\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo2", BRACK(FH_SDDO | 2), "\\Device\\Harddisk118\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo3", BRACK(FH_SDDO | 3), "\\Device\\Harddisk118\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo4", BRACK(FH_SDDO | 4), "\\Device\\Harddisk118\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo5", BRACK(FH_SDDO | 5), "\\Device\\Harddisk118\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo6", BRACK(FH_SDDO | 6), "\\Device\\Harddisk118\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo7", BRACK(FH_SDDO | 7), "\\Device\\Harddisk118\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo8", BRACK(FH_SDDO | 8), "\\Device\\Harddisk118\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo9", BRACK(FH_SDDO | 9), "\\Device\\Harddisk118\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo10", BRACK(FH_SDDO | 10), "\\Device\\Harddisk118\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo11", BRACK(FH_SDDO | 11), "\\Device\\Harddisk118\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo12", BRACK(FH_SDDO | 12), "\\Device\\Harddisk118\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo13", BRACK(FH_SDDO | 13), "\\Device\\Harddisk118\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo14", BRACK(FH_SDDO | 14), "\\Device\\Harddisk118\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddo15", BRACK(FH_SDDO | 15), "\\Device\\Harddisk118\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp1", BRACK(FH_SDDP | 1), "\\Device\\Harddisk119\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp2", BRACK(FH_SDDP | 2), "\\Device\\Harddisk119\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp3", BRACK(FH_SDDP | 3), "\\Device\\Harddisk119\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp4", BRACK(FH_SDDP | 4), "\\Device\\Harddisk119\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp5", BRACK(FH_SDDP | 5), "\\Device\\Harddisk119\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp6", BRACK(FH_SDDP | 6), "\\Device\\Harddisk119\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp7", BRACK(FH_SDDP | 7), "\\Device\\Harddisk119\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp8", BRACK(FH_SDDP | 8), "\\Device\\Harddisk119\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp9", BRACK(FH_SDDP | 9), "\\Device\\Harddisk119\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp10", BRACK(FH_SDDP | 10), "\\Device\\Harddisk119\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp11", BRACK(FH_SDDP | 11), "\\Device\\Harddisk119\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp12", BRACK(FH_SDDP | 12), "\\Device\\Harddisk119\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp13", BRACK(FH_SDDP | 13), "\\Device\\Harddisk119\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp14", BRACK(FH_SDDP | 14), "\\Device\\Harddisk119\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddp15", BRACK(FH_SDDP | 15), "\\Device\\Harddisk119\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq1", BRACK(FH_SDDQ | 1), "\\Device\\Harddisk120\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq2", BRACK(FH_SDDQ | 2), "\\Device\\Harddisk120\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq3", BRACK(FH_SDDQ | 3), "\\Device\\Harddisk120\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq4", BRACK(FH_SDDQ | 4), "\\Device\\Harddisk120\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq5", BRACK(FH_SDDQ | 5), "\\Device\\Harddisk120\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq6", BRACK(FH_SDDQ | 6), "\\Device\\Harddisk120\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq7", BRACK(FH_SDDQ | 7), "\\Device\\Harddisk120\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq8", BRACK(FH_SDDQ | 8), "\\Device\\Harddisk120\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq9", BRACK(FH_SDDQ | 9), "\\Device\\Harddisk120\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq10", BRACK(FH_SDDQ | 10), "\\Device\\Harddisk120\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq11", BRACK(FH_SDDQ | 11), "\\Device\\Harddisk120\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq12", BRACK(FH_SDDQ | 12), "\\Device\\Harddisk120\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq13", BRACK(FH_SDDQ | 13), "\\Device\\Harddisk120\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq14", BRACK(FH_SDDQ | 14), "\\Device\\Harddisk120\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddq15", BRACK(FH_SDDQ | 15), "\\Device\\Harddisk120\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr1", BRACK(FH_SDDR | 1), "\\Device\\Harddisk121\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr2", BRACK(FH_SDDR | 2), "\\Device\\Harddisk121\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr3", BRACK(FH_SDDR | 3), "\\Device\\Harddisk121\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr4", BRACK(FH_SDDR | 4), "\\Device\\Harddisk121\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr5", BRACK(FH_SDDR | 5), "\\Device\\Harddisk121\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr6", BRACK(FH_SDDR | 6), "\\Device\\Harddisk121\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr7", BRACK(FH_SDDR | 7), "\\Device\\Harddisk121\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr8", BRACK(FH_SDDR | 8), "\\Device\\Harddisk121\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr9", BRACK(FH_SDDR | 9), "\\Device\\Harddisk121\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr10", BRACK(FH_SDDR | 10), "\\Device\\Harddisk121\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr11", BRACK(FH_SDDR | 11), "\\Device\\Harddisk121\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr12", BRACK(FH_SDDR | 12), "\\Device\\Harddisk121\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr13", BRACK(FH_SDDR | 13), "\\Device\\Harddisk121\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr14", BRACK(FH_SDDR | 14), "\\Device\\Harddisk121\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddr15", BRACK(FH_SDDR | 15), "\\Device\\Harddisk121\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds1", BRACK(FH_SDDS | 1), "\\Device\\Harddisk122\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds2", BRACK(FH_SDDS | 2), "\\Device\\Harddisk122\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds3", BRACK(FH_SDDS | 3), "\\Device\\Harddisk122\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds4", BRACK(FH_SDDS | 4), "\\Device\\Harddisk122\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds5", BRACK(FH_SDDS | 5), "\\Device\\Harddisk122\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds6", BRACK(FH_SDDS | 6), "\\Device\\Harddisk122\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds7", BRACK(FH_SDDS | 7), "\\Device\\Harddisk122\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds8", BRACK(FH_SDDS | 8), "\\Device\\Harddisk122\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds9", BRACK(FH_SDDS | 9), "\\Device\\Harddisk122\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds10", BRACK(FH_SDDS | 10), "\\Device\\Harddisk122\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds11", BRACK(FH_SDDS | 11), "\\Device\\Harddisk122\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds12", BRACK(FH_SDDS | 12), "\\Device\\Harddisk122\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds13", BRACK(FH_SDDS | 13), "\\Device\\Harddisk122\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds14", BRACK(FH_SDDS | 14), "\\Device\\Harddisk122\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sdds15", BRACK(FH_SDDS | 15), "\\Device\\Harddisk122\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt1", BRACK(FH_SDDT | 1), "\\Device\\Harddisk123\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt2", BRACK(FH_SDDT | 2), "\\Device\\Harddisk123\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt3", BRACK(FH_SDDT | 3), "\\Device\\Harddisk123\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt4", BRACK(FH_SDDT | 4), "\\Device\\Harddisk123\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt5", BRACK(FH_SDDT | 5), "\\Device\\Harddisk123\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt6", BRACK(FH_SDDT | 6), "\\Device\\Harddisk123\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt7", BRACK(FH_SDDT | 7), "\\Device\\Harddisk123\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt8", BRACK(FH_SDDT | 8), "\\Device\\Harddisk123\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt9", BRACK(FH_SDDT | 9), "\\Device\\Harddisk123\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt10", BRACK(FH_SDDT | 10), "\\Device\\Harddisk123\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt11", BRACK(FH_SDDT | 11), "\\Device\\Harddisk123\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt12", BRACK(FH_SDDT | 12), "\\Device\\Harddisk123\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt13", BRACK(FH_SDDT | 13), "\\Device\\Harddisk123\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt14", BRACK(FH_SDDT | 14), "\\Device\\Harddisk123\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddt15", BRACK(FH_SDDT | 15), "\\Device\\Harddisk123\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu1", BRACK(FH_SDDU | 1), "\\Device\\Harddisk124\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu2", BRACK(FH_SDDU | 2), "\\Device\\Harddisk124\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu3", BRACK(FH_SDDU | 3), "\\Device\\Harddisk124\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu4", BRACK(FH_SDDU | 4), "\\Device\\Harddisk124\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu5", BRACK(FH_SDDU | 5), "\\Device\\Harddisk124\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu6", BRACK(FH_SDDU | 6), "\\Device\\Harddisk124\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu7", BRACK(FH_SDDU | 7), "\\Device\\Harddisk124\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu8", BRACK(FH_SDDU | 8), "\\Device\\Harddisk124\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu9", BRACK(FH_SDDU | 9), "\\Device\\Harddisk124\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu10", BRACK(FH_SDDU | 10), "\\Device\\Harddisk124\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu11", BRACK(FH_SDDU | 11), "\\Device\\Harddisk124\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu12", BRACK(FH_SDDU | 12), "\\Device\\Harddisk124\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu13", BRACK(FH_SDDU | 13), "\\Device\\Harddisk124\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu14", BRACK(FH_SDDU | 14), "\\Device\\Harddisk124\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddu15", BRACK(FH_SDDU | 15), "\\Device\\Harddisk124\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv1", BRACK(FH_SDDV | 1), "\\Device\\Harddisk125\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv2", BRACK(FH_SDDV | 2), "\\Device\\Harddisk125\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv3", BRACK(FH_SDDV | 3), "\\Device\\Harddisk125\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv4", BRACK(FH_SDDV | 4), "\\Device\\Harddisk125\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv5", BRACK(FH_SDDV | 5), "\\Device\\Harddisk125\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv6", BRACK(FH_SDDV | 6), "\\Device\\Harddisk125\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv7", BRACK(FH_SDDV | 7), "\\Device\\Harddisk125\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv8", BRACK(FH_SDDV | 8), "\\Device\\Harddisk125\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv9", BRACK(FH_SDDV | 9), "\\Device\\Harddisk125\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv10", BRACK(FH_SDDV | 10), "\\Device\\Harddisk125\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv11", BRACK(FH_SDDV | 11), "\\Device\\Harddisk125\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv12", BRACK(FH_SDDV | 12), "\\Device\\Harddisk125\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv13", BRACK(FH_SDDV | 13), "\\Device\\Harddisk125\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv14", BRACK(FH_SDDV | 14), "\\Device\\Harddisk125\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddv15", BRACK(FH_SDDV | 15), "\\Device\\Harddisk125\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw1", BRACK(FH_SDDW | 1), "\\Device\\Harddisk126\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw2", BRACK(FH_SDDW | 2), "\\Device\\Harddisk126\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw3", BRACK(FH_SDDW | 3), "\\Device\\Harddisk126\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw4", BRACK(FH_SDDW | 4), "\\Device\\Harddisk126\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw5", BRACK(FH_SDDW | 5), "\\Device\\Harddisk126\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw6", BRACK(FH_SDDW | 6), "\\Device\\Harddisk126\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw7", BRACK(FH_SDDW | 7), "\\Device\\Harddisk126\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw8", BRACK(FH_SDDW | 8), "\\Device\\Harddisk126\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw9", BRACK(FH_SDDW | 9), "\\Device\\Harddisk126\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw10", BRACK(FH_SDDW | 10), "\\Device\\Harddisk126\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw11", BRACK(FH_SDDW | 11), "\\Device\\Harddisk126\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw12", BRACK(FH_SDDW | 12), "\\Device\\Harddisk126\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw13", BRACK(FH_SDDW | 13), "\\Device\\Harddisk126\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw14", BRACK(FH_SDDW | 14), "\\Device\\Harddisk126\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddw15", BRACK(FH_SDDW | 15), "\\Device\\Harddisk126\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx1", BRACK(FH_SDDX | 1), "\\Device\\Harddisk127\\Partition1", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx2", BRACK(FH_SDDX | 2), "\\Device\\Harddisk127\\Partition2", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx3", BRACK(FH_SDDX | 3), "\\Device\\Harddisk127\\Partition3", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx4", BRACK(FH_SDDX | 4), "\\Device\\Harddisk127\\Partition4", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx5", BRACK(FH_SDDX | 5), "\\Device\\Harddisk127\\Partition5", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx6", BRACK(FH_SDDX | 6), "\\Device\\Harddisk127\\Partition6", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx7", BRACK(FH_SDDX | 7), "\\Device\\Harddisk127\\Partition7", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx8", BRACK(FH_SDDX | 8), "\\Device\\Harddisk127\\Partition8", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx9", BRACK(FH_SDDX | 9), "\\Device\\Harddisk127\\Partition9", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx10", BRACK(FH_SDDX | 10), "\\Device\\Harddisk127\\Partition10", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx11", BRACK(FH_SDDX | 11), "\\Device\\Harddisk127\\Partition11", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx12", BRACK(FH_SDDX | 12), "\\Device\\Harddisk127\\Partition12", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx13", BRACK(FH_SDDX | 13), "\\Device\\Harddisk127\\Partition13", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx14", BRACK(FH_SDDX | 14), "\\Device\\Harddisk127\\Partition14", exists_ntdev, S_IFBLK, true},
- {"/dev/sddx15", BRACK(FH_SDDX | 15), "\\Device\\Harddisk127\\Partition15", exists_ntdev, S_IFBLK, true},
- {"/dev/sr0", BRACK(FHDEV(DEV_CDROM_MAJOR, 0)), "\\Device\\CdRom0", exists_ntdev, S_IFBLK, true},
- {"/dev/sr1", BRACK(FHDEV(DEV_CDROM_MAJOR, 1)), "\\Device\\CdRom1", exists_ntdev, S_IFBLK, true},
- {"/dev/sr2", BRACK(FHDEV(DEV_CDROM_MAJOR, 2)), "\\Device\\CdRom2", exists_ntdev, S_IFBLK, true},
- {"/dev/sr3", BRACK(FHDEV(DEV_CDROM_MAJOR, 3)), "\\Device\\CdRom3", exists_ntdev, S_IFBLK, true},
- {"/dev/sr4", BRACK(FHDEV(DEV_CDROM_MAJOR, 4)), "\\Device\\CdRom4", exists_ntdev, S_IFBLK, true},
- {"/dev/sr5", BRACK(FHDEV(DEV_CDROM_MAJOR, 5)), "\\Device\\CdRom5", exists_ntdev, S_IFBLK, true},
- {"/dev/sr6", BRACK(FHDEV(DEV_CDROM_MAJOR, 6)), "\\Device\\CdRom6", exists_ntdev, S_IFBLK, true},
- {"/dev/sr7", BRACK(FHDEV(DEV_CDROM_MAJOR, 7)), "\\Device\\CdRom7", exists_ntdev, S_IFBLK, true},
- {"/dev/sr8", BRACK(FHDEV(DEV_CDROM_MAJOR, 8)), "\\Device\\CdRom8", exists_ntdev, S_IFBLK, true},
- {"/dev/sr9", BRACK(FHDEV(DEV_CDROM_MAJOR, 9)), "\\Device\\CdRom9", exists_ntdev, S_IFBLK, true},
- {"/dev/sr10", BRACK(FHDEV(DEV_CDROM_MAJOR, 10)), "\\Device\\CdRom10", exists_ntdev, S_IFBLK, true},
- {"/dev/sr11", BRACK(FHDEV(DEV_CDROM_MAJOR, 11)), "\\Device\\CdRom11", exists_ntdev, S_IFBLK, true},
- {"/dev/sr12", BRACK(FHDEV(DEV_CDROM_MAJOR, 12)), "\\Device\\CdRom12", exists_ntdev, S_IFBLK, true},
- {"/dev/sr13", BRACK(FHDEV(DEV_CDROM_MAJOR, 13)), "\\Device\\CdRom13", exists_ntdev, S_IFBLK, true},
- {"/dev/sr14", BRACK(FHDEV(DEV_CDROM_MAJOR, 14)), "\\Device\\CdRom14", exists_ntdev, S_IFBLK, true},
- {"/dev/sr15", BRACK(FHDEV(DEV_CDROM_MAJOR, 15)), "\\Device\\CdRom15", exists_ntdev, S_IFBLK, true},
- {"/dev/st0", BRACK(FHDEV(DEV_TAPE_MAJOR, 0)), "\\Device\\Tape0", exists_ntdev, S_IFBLK, true},
- {"/dev/st1", BRACK(FHDEV(DEV_TAPE_MAJOR, 1)), "\\Device\\Tape1", exists_ntdev, S_IFBLK, true},
- {"/dev/st2", BRACK(FHDEV(DEV_TAPE_MAJOR, 2)), "\\Device\\Tape2", exists_ntdev, S_IFBLK, true},
- {"/dev/st3", BRACK(FHDEV(DEV_TAPE_MAJOR, 3)), "\\Device\\Tape3", exists_ntdev, S_IFBLK, true},
- {"/dev/st4", BRACK(FHDEV(DEV_TAPE_MAJOR, 4)), "\\Device\\Tape4", exists_ntdev, S_IFBLK, true},
- {"/dev/st5", BRACK(FHDEV(DEV_TAPE_MAJOR, 5)), "\\Device\\Tape5", exists_ntdev, S_IFBLK, true},
- {"/dev/st6", BRACK(FHDEV(DEV_TAPE_MAJOR, 6)), "\\Device\\Tape6", exists_ntdev, S_IFBLK, true},
- {"/dev/st7", BRACK(FHDEV(DEV_TAPE_MAJOR, 7)), "\\Device\\Tape7", exists_ntdev, S_IFBLK, true},
- {"/dev/st8", BRACK(FHDEV(DEV_TAPE_MAJOR, 8)), "\\Device\\Tape8", exists_ntdev, S_IFBLK, true},
- {"/dev/st9", BRACK(FHDEV(DEV_TAPE_MAJOR, 9)), "\\Device\\Tape9", exists_ntdev, S_IFBLK, true},
- {"/dev/st10", BRACK(FHDEV(DEV_TAPE_MAJOR, 10)), "\\Device\\Tape10", exists_ntdev, S_IFBLK, true},
- {"/dev/st11", BRACK(FHDEV(DEV_TAPE_MAJOR, 11)), "\\Device\\Tape11", exists_ntdev, S_IFBLK, true},
- {"/dev/st12", BRACK(FHDEV(DEV_TAPE_MAJOR, 12)), "\\Device\\Tape12", exists_ntdev, S_IFBLK, true},
- {"/dev/st13", BRACK(FHDEV(DEV_TAPE_MAJOR, 13)), "\\Device\\Tape13", exists_ntdev, S_IFBLK, true},
- {"/dev/st14", BRACK(FHDEV(DEV_TAPE_MAJOR, 14)), "\\Device\\Tape14", exists_ntdev, S_IFBLK, true},
- {"/dev/st15", BRACK(FHDEV(DEV_TAPE_MAJOR, 15)), "\\Device\\Tape15", exists_ntdev, S_IFBLK, true},
- {"/dev/st16", BRACK(FHDEV(DEV_TAPE_MAJOR, 16)), "\\Device\\Tape16", exists_ntdev, S_IFBLK, true},
- {"/dev/st17", BRACK(FHDEV(DEV_TAPE_MAJOR, 17)), "\\Device\\Tape17", exists_ntdev, S_IFBLK, true},
- {"/dev/st18", BRACK(FHDEV(DEV_TAPE_MAJOR, 18)), "\\Device\\Tape18", exists_ntdev, S_IFBLK, true},
- {"/dev/st19", BRACK(FHDEV(DEV_TAPE_MAJOR, 19)), "\\Device\\Tape19", exists_ntdev, S_IFBLK, true},
- {"/dev/st20", BRACK(FHDEV(DEV_TAPE_MAJOR, 20)), "\\Device\\Tape20", exists_ntdev, S_IFBLK, true},
- {"/dev/st21", BRACK(FHDEV(DEV_TAPE_MAJOR, 21)), "\\Device\\Tape21", exists_ntdev, S_IFBLK, true},
- {"/dev/st22", BRACK(FHDEV(DEV_TAPE_MAJOR, 22)), "\\Device\\Tape22", exists_ntdev, S_IFBLK, true},
- {"/dev/st23", BRACK(FHDEV(DEV_TAPE_MAJOR, 23)), "\\Device\\Tape23", exists_ntdev, S_IFBLK, true},
- {"/dev/st24", BRACK(FHDEV(DEV_TAPE_MAJOR, 24)), "\\Device\\Tape24", exists_ntdev, S_IFBLK, true},
- {"/dev/st25", BRACK(FHDEV(DEV_TAPE_MAJOR, 25)), "\\Device\\Tape25", exists_ntdev, S_IFBLK, true},
- {"/dev/st26", BRACK(FHDEV(DEV_TAPE_MAJOR, 26)), "\\Device\\Tape26", exists_ntdev, S_IFBLK, true},
- {"/dev/st27", BRACK(FHDEV(DEV_TAPE_MAJOR, 27)), "\\Device\\Tape27", exists_ntdev, S_IFBLK, true},
- {"/dev/st28", BRACK(FHDEV(DEV_TAPE_MAJOR, 28)), "\\Device\\Tape28", exists_ntdev, S_IFBLK, true},
- {"/dev/st29", BRACK(FHDEV(DEV_TAPE_MAJOR, 29)), "\\Device\\Tape29", exists_ntdev, S_IFBLK, true},
- {"/dev/st30", BRACK(FHDEV(DEV_TAPE_MAJOR, 30)), "\\Device\\Tape30", exists_ntdev, S_IFBLK, true},
- {"/dev/st31", BRACK(FHDEV(DEV_TAPE_MAJOR, 31)), "\\Device\\Tape31", exists_ntdev, S_IFBLK, true},
- {"/dev/st32", BRACK(FHDEV(DEV_TAPE_MAJOR, 32)), "\\Device\\Tape32", exists_ntdev, S_IFBLK, true},
- {"/dev/st33", BRACK(FHDEV(DEV_TAPE_MAJOR, 33)), "\\Device\\Tape33", exists_ntdev, S_IFBLK, true},
- {"/dev/st34", BRACK(FHDEV(DEV_TAPE_MAJOR, 34)), "\\Device\\Tape34", exists_ntdev, S_IFBLK, true},
- {"/dev/st35", BRACK(FHDEV(DEV_TAPE_MAJOR, 35)), "\\Device\\Tape35", exists_ntdev, S_IFBLK, true},
- {"/dev/st36", BRACK(FHDEV(DEV_TAPE_MAJOR, 36)), "\\Device\\Tape36", exists_ntdev, S_IFBLK, true},
- {"/dev/st37", BRACK(FHDEV(DEV_TAPE_MAJOR, 37)), "\\Device\\Tape37", exists_ntdev, S_IFBLK, true},
- {"/dev/st38", BRACK(FHDEV(DEV_TAPE_MAJOR, 38)), "\\Device\\Tape38", exists_ntdev, S_IFBLK, true},
- {"/dev/st39", BRACK(FHDEV(DEV_TAPE_MAJOR, 39)), "\\Device\\Tape39", exists_ntdev, S_IFBLK, true},
- {"/dev/st40", BRACK(FHDEV(DEV_TAPE_MAJOR, 40)), "\\Device\\Tape40", exists_ntdev, S_IFBLK, true},
- {"/dev/st41", BRACK(FHDEV(DEV_TAPE_MAJOR, 41)), "\\Device\\Tape41", exists_ntdev, S_IFBLK, true},
- {"/dev/st42", BRACK(FHDEV(DEV_TAPE_MAJOR, 42)), "\\Device\\Tape42", exists_ntdev, S_IFBLK, true},
- {"/dev/st43", BRACK(FHDEV(DEV_TAPE_MAJOR, 43)), "\\Device\\Tape43", exists_ntdev, S_IFBLK, true},
- {"/dev/st44", BRACK(FHDEV(DEV_TAPE_MAJOR, 44)), "\\Device\\Tape44", exists_ntdev, S_IFBLK, true},
- {"/dev/st45", BRACK(FHDEV(DEV_TAPE_MAJOR, 45)), "\\Device\\Tape45", exists_ntdev, S_IFBLK, true},
- {"/dev/st46", BRACK(FHDEV(DEV_TAPE_MAJOR, 46)), "\\Device\\Tape46", exists_ntdev, S_IFBLK, true},
- {"/dev/st47", BRACK(FHDEV(DEV_TAPE_MAJOR, 47)), "\\Device\\Tape47", exists_ntdev, S_IFBLK, true},
- {"/dev/st48", BRACK(FHDEV(DEV_TAPE_MAJOR, 48)), "\\Device\\Tape48", exists_ntdev, S_IFBLK, true},
- {"/dev/st49", BRACK(FHDEV(DEV_TAPE_MAJOR, 49)), "\\Device\\Tape49", exists_ntdev, S_IFBLK, true},
- {"/dev/st50", BRACK(FHDEV(DEV_TAPE_MAJOR, 50)), "\\Device\\Tape50", exists_ntdev, S_IFBLK, true},
- {"/dev/st51", BRACK(FHDEV(DEV_TAPE_MAJOR, 51)), "\\Device\\Tape51", exists_ntdev, S_IFBLK, true},
- {"/dev/st52", BRACK(FHDEV(DEV_TAPE_MAJOR, 52)), "\\Device\\Tape52", exists_ntdev, S_IFBLK, true},
- {"/dev/st53", BRACK(FHDEV(DEV_TAPE_MAJOR, 53)), "\\Device\\Tape53", exists_ntdev, S_IFBLK, true},
- {"/dev/st54", BRACK(FHDEV(DEV_TAPE_MAJOR, 54)), "\\Device\\Tape54", exists_ntdev, S_IFBLK, true},
- {"/dev/st55", BRACK(FHDEV(DEV_TAPE_MAJOR, 55)), "\\Device\\Tape55", exists_ntdev, S_IFBLK, true},
- {"/dev/st56", BRACK(FHDEV(DEV_TAPE_MAJOR, 56)), "\\Device\\Tape56", exists_ntdev, S_IFBLK, true},
- {"/dev/st57", BRACK(FHDEV(DEV_TAPE_MAJOR, 57)), "\\Device\\Tape57", exists_ntdev, S_IFBLK, true},
- {"/dev/st58", BRACK(FHDEV(DEV_TAPE_MAJOR, 58)), "\\Device\\Tape58", exists_ntdev, S_IFBLK, true},
- {"/dev/st59", BRACK(FHDEV(DEV_TAPE_MAJOR, 59)), "\\Device\\Tape59", exists_ntdev, S_IFBLK, true},
- {"/dev/st60", BRACK(FHDEV(DEV_TAPE_MAJOR, 60)), "\\Device\\Tape60", exists_ntdev, S_IFBLK, true},
- {"/dev/st61", BRACK(FHDEV(DEV_TAPE_MAJOR, 61)), "\\Device\\Tape61", exists_ntdev, S_IFBLK, true},
- {"/dev/st62", BRACK(FHDEV(DEV_TAPE_MAJOR, 62)), "\\Device\\Tape62", exists_ntdev, S_IFBLK, true},
- {"/dev/st63", BRACK(FHDEV(DEV_TAPE_MAJOR, 63)), "\\Device\\Tape63", exists_ntdev, S_IFBLK, true},
- {"/dev/st64", BRACK(FHDEV(DEV_TAPE_MAJOR, 64)), "\\Device\\Tape64", exists_ntdev, S_IFBLK, true},
- {"/dev/st65", BRACK(FHDEV(DEV_TAPE_MAJOR, 65)), "\\Device\\Tape65", exists_ntdev, S_IFBLK, true},
- {"/dev/st66", BRACK(FHDEV(DEV_TAPE_MAJOR, 66)), "\\Device\\Tape66", exists_ntdev, S_IFBLK, true},
- {"/dev/st67", BRACK(FHDEV(DEV_TAPE_MAJOR, 67)), "\\Device\\Tape67", exists_ntdev, S_IFBLK, true},
- {"/dev/st68", BRACK(FHDEV(DEV_TAPE_MAJOR, 68)), "\\Device\\Tape68", exists_ntdev, S_IFBLK, true},
- {"/dev/st69", BRACK(FHDEV(DEV_TAPE_MAJOR, 69)), "\\Device\\Tape69", exists_ntdev, S_IFBLK, true},
- {"/dev/st70", BRACK(FHDEV(DEV_TAPE_MAJOR, 70)), "\\Device\\Tape70", exists_ntdev, S_IFBLK, true},
- {"/dev/st71", BRACK(FHDEV(DEV_TAPE_MAJOR, 71)), "\\Device\\Tape71", exists_ntdev, S_IFBLK, true},
- {"/dev/st72", BRACK(FHDEV(DEV_TAPE_MAJOR, 72)), "\\Device\\Tape72", exists_ntdev, S_IFBLK, true},
- {"/dev/st73", BRACK(FHDEV(DEV_TAPE_MAJOR, 73)), "\\Device\\Tape73", exists_ntdev, S_IFBLK, true},
- {"/dev/st74", BRACK(FHDEV(DEV_TAPE_MAJOR, 74)), "\\Device\\Tape74", exists_ntdev, S_IFBLK, true},
- {"/dev/st75", BRACK(FHDEV(DEV_TAPE_MAJOR, 75)), "\\Device\\Tape75", exists_ntdev, S_IFBLK, true},
- {"/dev/st76", BRACK(FHDEV(DEV_TAPE_MAJOR, 76)), "\\Device\\Tape76", exists_ntdev, S_IFBLK, true},
- {"/dev/st77", BRACK(FHDEV(DEV_TAPE_MAJOR, 77)), "\\Device\\Tape77", exists_ntdev, S_IFBLK, true},
- {"/dev/st78", BRACK(FHDEV(DEV_TAPE_MAJOR, 78)), "\\Device\\Tape78", exists_ntdev, S_IFBLK, true},
- {"/dev/st79", BRACK(FHDEV(DEV_TAPE_MAJOR, 79)), "\\Device\\Tape79", exists_ntdev, S_IFBLK, true},
- {"/dev/st80", BRACK(FHDEV(DEV_TAPE_MAJOR, 80)), "\\Device\\Tape80", exists_ntdev, S_IFBLK, true},
- {"/dev/st81", BRACK(FHDEV(DEV_TAPE_MAJOR, 81)), "\\Device\\Tape81", exists_ntdev, S_IFBLK, true},
- {"/dev/st82", BRACK(FHDEV(DEV_TAPE_MAJOR, 82)), "\\Device\\Tape82", exists_ntdev, S_IFBLK, true},
- {"/dev/st83", BRACK(FHDEV(DEV_TAPE_MAJOR, 83)), "\\Device\\Tape83", exists_ntdev, S_IFBLK, true},
- {"/dev/st84", BRACK(FHDEV(DEV_TAPE_MAJOR, 84)), "\\Device\\Tape84", exists_ntdev, S_IFBLK, true},
- {"/dev/st85", BRACK(FHDEV(DEV_TAPE_MAJOR, 85)), "\\Device\\Tape85", exists_ntdev, S_IFBLK, true},
- {"/dev/st86", BRACK(FHDEV(DEV_TAPE_MAJOR, 86)), "\\Device\\Tape86", exists_ntdev, S_IFBLK, true},
- {"/dev/st87", BRACK(FHDEV(DEV_TAPE_MAJOR, 87)), "\\Device\\Tape87", exists_ntdev, S_IFBLK, true},
- {"/dev/st88", BRACK(FHDEV(DEV_TAPE_MAJOR, 88)), "\\Device\\Tape88", exists_ntdev, S_IFBLK, true},
- {"/dev/st89", BRACK(FHDEV(DEV_TAPE_MAJOR, 89)), "\\Device\\Tape89", exists_ntdev, S_IFBLK, true},
- {"/dev/st90", BRACK(FHDEV(DEV_TAPE_MAJOR, 90)), "\\Device\\Tape90", exists_ntdev, S_IFBLK, true},
- {"/dev/st91", BRACK(FHDEV(DEV_TAPE_MAJOR, 91)), "\\Device\\Tape91", exists_ntdev, S_IFBLK, true},
- {"/dev/st92", BRACK(FHDEV(DEV_TAPE_MAJOR, 92)), "\\Device\\Tape92", exists_ntdev, S_IFBLK, true},
- {"/dev/st93", BRACK(FHDEV(DEV_TAPE_MAJOR, 93)), "\\Device\\Tape93", exists_ntdev, S_IFBLK, true},
- {"/dev/st94", BRACK(FHDEV(DEV_TAPE_MAJOR, 94)), "\\Device\\Tape94", exists_ntdev, S_IFBLK, true},
- {"/dev/st95", BRACK(FHDEV(DEV_TAPE_MAJOR, 95)), "\\Device\\Tape95", exists_ntdev, S_IFBLK, true},
- {"/dev/st96", BRACK(FHDEV(DEV_TAPE_MAJOR, 96)), "\\Device\\Tape96", exists_ntdev, S_IFBLK, true},
- {"/dev/st97", BRACK(FHDEV(DEV_TAPE_MAJOR, 97)), "\\Device\\Tape97", exists_ntdev, S_IFBLK, true},
- {"/dev/st98", BRACK(FHDEV(DEV_TAPE_MAJOR, 98)), "\\Device\\Tape98", exists_ntdev, S_IFBLK, true},
- {"/dev/st99", BRACK(FHDEV(DEV_TAPE_MAJOR, 99)), "\\Device\\Tape99", exists_ntdev, S_IFBLK, true},
- {"/dev/st100", BRACK(FHDEV(DEV_TAPE_MAJOR, 100)), "\\Device\\Tape100", exists_ntdev, S_IFBLK, true},
- {"/dev/st101", BRACK(FHDEV(DEV_TAPE_MAJOR, 101)), "\\Device\\Tape101", exists_ntdev, S_IFBLK, true},
- {"/dev/st102", BRACK(FHDEV(DEV_TAPE_MAJOR, 102)), "\\Device\\Tape102", exists_ntdev, S_IFBLK, true},
- {"/dev/st103", BRACK(FHDEV(DEV_TAPE_MAJOR, 103)), "\\Device\\Tape103", exists_ntdev, S_IFBLK, true},
- {"/dev/st104", BRACK(FHDEV(DEV_TAPE_MAJOR, 104)), "\\Device\\Tape104", exists_ntdev, S_IFBLK, true},
- {"/dev/st105", BRACK(FHDEV(DEV_TAPE_MAJOR, 105)), "\\Device\\Tape105", exists_ntdev, S_IFBLK, true},
- {"/dev/st106", BRACK(FHDEV(DEV_TAPE_MAJOR, 106)), "\\Device\\Tape106", exists_ntdev, S_IFBLK, true},
- {"/dev/st107", BRACK(FHDEV(DEV_TAPE_MAJOR, 107)), "\\Device\\Tape107", exists_ntdev, S_IFBLK, true},
- {"/dev/st108", BRACK(FHDEV(DEV_TAPE_MAJOR, 108)), "\\Device\\Tape108", exists_ntdev, S_IFBLK, true},
- {"/dev/st109", BRACK(FHDEV(DEV_TAPE_MAJOR, 109)), "\\Device\\Tape109", exists_ntdev, S_IFBLK, true},
- {"/dev/st110", BRACK(FHDEV(DEV_TAPE_MAJOR, 110)), "\\Device\\Tape110", exists_ntdev, S_IFBLK, true},
- {"/dev/st111", BRACK(FHDEV(DEV_TAPE_MAJOR, 111)), "\\Device\\Tape111", exists_ntdev, S_IFBLK, true},
- {"/dev/st112", BRACK(FHDEV(DEV_TAPE_MAJOR, 112)), "\\Device\\Tape112", exists_ntdev, S_IFBLK, true},
- {"/dev/st113", BRACK(FHDEV(DEV_TAPE_MAJOR, 113)), "\\Device\\Tape113", exists_ntdev, S_IFBLK, true},
- {"/dev/st114", BRACK(FHDEV(DEV_TAPE_MAJOR, 114)), "\\Device\\Tape114", exists_ntdev, S_IFBLK, true},
- {"/dev/st115", BRACK(FHDEV(DEV_TAPE_MAJOR, 115)), "\\Device\\Tape115", exists_ntdev, S_IFBLK, true},
- {"/dev/st116", BRACK(FHDEV(DEV_TAPE_MAJOR, 116)), "\\Device\\Tape116", exists_ntdev, S_IFBLK, true},
- {"/dev/st117", BRACK(FHDEV(DEV_TAPE_MAJOR, 117)), "\\Device\\Tape117", exists_ntdev, S_IFBLK, true},
- {"/dev/st118", BRACK(FHDEV(DEV_TAPE_MAJOR, 118)), "\\Device\\Tape118", exists_ntdev, S_IFBLK, true},
- {"/dev/st119", BRACK(FHDEV(DEV_TAPE_MAJOR, 119)), "\\Device\\Tape119", exists_ntdev, S_IFBLK, true},
- {"/dev/st120", BRACK(FHDEV(DEV_TAPE_MAJOR, 120)), "\\Device\\Tape120", exists_ntdev, S_IFBLK, true},
- {"/dev/st121", BRACK(FHDEV(DEV_TAPE_MAJOR, 121)), "\\Device\\Tape121", exists_ntdev, S_IFBLK, true},
- {"/dev/st122", BRACK(FHDEV(DEV_TAPE_MAJOR, 122)), "\\Device\\Tape122", exists_ntdev, S_IFBLK, true},
- {"/dev/st123", BRACK(FHDEV(DEV_TAPE_MAJOR, 123)), "\\Device\\Tape123", exists_ntdev, S_IFBLK, true},
- {"/dev/st124", BRACK(FHDEV(DEV_TAPE_MAJOR, 124)), "\\Device\\Tape124", exists_ntdev, S_IFBLK, true},
- {"/dev/st125", BRACK(FHDEV(DEV_TAPE_MAJOR, 125)), "\\Device\\Tape125", exists_ntdev, S_IFBLK, true},
- {"/dev/st126", BRACK(FHDEV(DEV_TAPE_MAJOR, 126)), "\\Device\\Tape126", exists_ntdev, S_IFBLK, true},
- {"/dev/st127", BRACK(FHDEV(DEV_TAPE_MAJOR, 127)), "\\Device\\Tape127", exists_ntdev, S_IFBLK, true},
- {"/dev/tty", BRACK(FH_TTY), "/dev/tty", exists, S_IFCHR, true},
- {"/dev/ttyS0", BRACK(FHDEV(DEV_SERIAL_MAJOR, 0)), "\\??\\COM1", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS1", BRACK(FHDEV(DEV_SERIAL_MAJOR, 1)), "\\??\\COM2", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS2", BRACK(FHDEV(DEV_SERIAL_MAJOR, 2)), "\\??\\COM3", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS3", BRACK(FHDEV(DEV_SERIAL_MAJOR, 3)), "\\??\\COM4", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS4", BRACK(FHDEV(DEV_SERIAL_MAJOR, 4)), "\\??\\COM5", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS5", BRACK(FHDEV(DEV_SERIAL_MAJOR, 5)), "\\??\\COM6", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS6", BRACK(FHDEV(DEV_SERIAL_MAJOR, 6)), "\\??\\COM7", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS7", BRACK(FHDEV(DEV_SERIAL_MAJOR, 7)), "\\??\\COM8", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS8", BRACK(FHDEV(DEV_SERIAL_MAJOR, 8)), "\\??\\COM9", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS9", BRACK(FHDEV(DEV_SERIAL_MAJOR, 9)), "\\??\\COM10", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS10", BRACK(FHDEV(DEV_SERIAL_MAJOR, 10)), "\\??\\COM11", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS11", BRACK(FHDEV(DEV_SERIAL_MAJOR, 11)), "\\??\\COM12", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS12", BRACK(FHDEV(DEV_SERIAL_MAJOR, 12)), "\\??\\COM13", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS13", BRACK(FHDEV(DEV_SERIAL_MAJOR, 13)), "\\??\\COM14", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS14", BRACK(FHDEV(DEV_SERIAL_MAJOR, 14)), "\\??\\COM15", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS15", BRACK(FHDEV(DEV_SERIAL_MAJOR, 15)), "\\??\\COM16", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS16", BRACK(FHDEV(DEV_SERIAL_MAJOR, 16)), "\\??\\COM17", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS17", BRACK(FHDEV(DEV_SERIAL_MAJOR, 17)), "\\??\\COM18", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS18", BRACK(FHDEV(DEV_SERIAL_MAJOR, 18)), "\\??\\COM19", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS19", BRACK(FHDEV(DEV_SERIAL_MAJOR, 19)), "\\??\\COM20", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS20", BRACK(FHDEV(DEV_SERIAL_MAJOR, 20)), "\\??\\COM21", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS21", BRACK(FHDEV(DEV_SERIAL_MAJOR, 21)), "\\??\\COM22", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS22", BRACK(FHDEV(DEV_SERIAL_MAJOR, 22)), "\\??\\COM23", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS23", BRACK(FHDEV(DEV_SERIAL_MAJOR, 23)), "\\??\\COM24", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS24", BRACK(FHDEV(DEV_SERIAL_MAJOR, 24)), "\\??\\COM25", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS25", BRACK(FHDEV(DEV_SERIAL_MAJOR, 25)), "\\??\\COM26", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS26", BRACK(FHDEV(DEV_SERIAL_MAJOR, 26)), "\\??\\COM27", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS27", BRACK(FHDEV(DEV_SERIAL_MAJOR, 27)), "\\??\\COM28", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS28", BRACK(FHDEV(DEV_SERIAL_MAJOR, 28)), "\\??\\COM29", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS29", BRACK(FHDEV(DEV_SERIAL_MAJOR, 29)), "\\??\\COM30", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS30", BRACK(FHDEV(DEV_SERIAL_MAJOR, 30)), "\\??\\COM31", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS31", BRACK(FHDEV(DEV_SERIAL_MAJOR, 31)), "\\??\\COM32", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS32", BRACK(FHDEV(DEV_SERIAL_MAJOR, 32)), "\\??\\COM33", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS33", BRACK(FHDEV(DEV_SERIAL_MAJOR, 33)), "\\??\\COM34", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS34", BRACK(FHDEV(DEV_SERIAL_MAJOR, 34)), "\\??\\COM35", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS35", BRACK(FHDEV(DEV_SERIAL_MAJOR, 35)), "\\??\\COM36", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS36", BRACK(FHDEV(DEV_SERIAL_MAJOR, 36)), "\\??\\COM37", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS37", BRACK(FHDEV(DEV_SERIAL_MAJOR, 37)), "\\??\\COM38", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS38", BRACK(FHDEV(DEV_SERIAL_MAJOR, 38)), "\\??\\COM39", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS39", BRACK(FHDEV(DEV_SERIAL_MAJOR, 39)), "\\??\\COM40", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS40", BRACK(FHDEV(DEV_SERIAL_MAJOR, 40)), "\\??\\COM41", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS41", BRACK(FHDEV(DEV_SERIAL_MAJOR, 41)), "\\??\\COM42", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS42", BRACK(FHDEV(DEV_SERIAL_MAJOR, 42)), "\\??\\COM43", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS43", BRACK(FHDEV(DEV_SERIAL_MAJOR, 43)), "\\??\\COM44", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS44", BRACK(FHDEV(DEV_SERIAL_MAJOR, 44)), "\\??\\COM45", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS45", BRACK(FHDEV(DEV_SERIAL_MAJOR, 45)), "\\??\\COM46", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS46", BRACK(FHDEV(DEV_SERIAL_MAJOR, 46)), "\\??\\COM47", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS47", BRACK(FHDEV(DEV_SERIAL_MAJOR, 47)), "\\??\\COM48", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS48", BRACK(FHDEV(DEV_SERIAL_MAJOR, 48)), "\\??\\COM49", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS49", BRACK(FHDEV(DEV_SERIAL_MAJOR, 49)), "\\??\\COM50", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS50", BRACK(FHDEV(DEV_SERIAL_MAJOR, 50)), "\\??\\COM51", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS51", BRACK(FHDEV(DEV_SERIAL_MAJOR, 51)), "\\??\\COM52", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS52", BRACK(FHDEV(DEV_SERIAL_MAJOR, 52)), "\\??\\COM53", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS53", BRACK(FHDEV(DEV_SERIAL_MAJOR, 53)), "\\??\\COM54", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS54", BRACK(FHDEV(DEV_SERIAL_MAJOR, 54)), "\\??\\COM55", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS55", BRACK(FHDEV(DEV_SERIAL_MAJOR, 55)), "\\??\\COM56", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS56", BRACK(FHDEV(DEV_SERIAL_MAJOR, 56)), "\\??\\COM57", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS57", BRACK(FHDEV(DEV_SERIAL_MAJOR, 57)), "\\??\\COM58", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS58", BRACK(FHDEV(DEV_SERIAL_MAJOR, 58)), "\\??\\COM59", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS59", BRACK(FHDEV(DEV_SERIAL_MAJOR, 59)), "\\??\\COM60", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS60", BRACK(FHDEV(DEV_SERIAL_MAJOR, 60)), "\\??\\COM61", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS61", BRACK(FHDEV(DEV_SERIAL_MAJOR, 61)), "\\??\\COM62", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS62", BRACK(FHDEV(DEV_SERIAL_MAJOR, 62)), "\\??\\COM63", exists_ntdev, S_IFCHR, true},
- {"/dev/ttyS63", BRACK(FHDEV(DEV_SERIAL_MAJOR, 63)), "\\??\\COM64", exists_ntdev, S_IFCHR, true},
- {"/dev/urandom", BRACK(FH_URANDOM), "/dev/urandom", exists, S_IFCHR, true},
- {"/dev/windows", BRACK(FH_WINDOWS), "/dev/windows", exists, S_IFCHR, true},
- {"/dev/zero", BRACK(FH_ZERO), "/dev/zero", exists, S_IFCHR, true},
- {":fifo", BRACK(FH_FIFO), "/dev/fifo", exists_internal, S_IFCHR, false},
- {":pipe", BRACK(FH_PIPE), "/dev/pipe", exists_internal, S_IFCHR, false},
- {":ptym0", BRACK(FHDEV(DEV_PTYM_MAJOR, 0)), "/dev/ptym0", exists_internal, S_IFCHR, false},
- {":ptym1", BRACK(FHDEV(DEV_PTYM_MAJOR, 1)), "/dev/ptym1", exists_internal, S_IFCHR, false},
- {":ptym2", BRACK(FHDEV(DEV_PTYM_MAJOR, 2)), "/dev/ptym2", exists_internal, S_IFCHR, false},
- {":ptym3", BRACK(FHDEV(DEV_PTYM_MAJOR, 3)), "/dev/ptym3", exists_internal, S_IFCHR, false},
- {":ptym4", BRACK(FHDEV(DEV_PTYM_MAJOR, 4)), "/dev/ptym4", exists_internal, S_IFCHR, false},
- {":ptym5", BRACK(FHDEV(DEV_PTYM_MAJOR, 5)), "/dev/ptym5", exists_internal, S_IFCHR, false},
- {":ptym6", BRACK(FHDEV(DEV_PTYM_MAJOR, 6)), "/dev/ptym6", exists_internal, S_IFCHR, false},
- {":ptym7", BRACK(FHDEV(DEV_PTYM_MAJOR, 7)), "/dev/ptym7", exists_internal, S_IFCHR, false},
- {":ptym8", BRACK(FHDEV(DEV_PTYM_MAJOR, 8)), "/dev/ptym8", exists_internal, S_IFCHR, false},
- {":ptym9", BRACK(FHDEV(DEV_PTYM_MAJOR, 9)), "/dev/ptym9", exists_internal, S_IFCHR, false},
- {":ptym10", BRACK(FHDEV(DEV_PTYM_MAJOR, 10)), "/dev/ptym10", exists_internal, S_IFCHR, false},
- {":ptym11", BRACK(FHDEV(DEV_PTYM_MAJOR, 11)), "/dev/ptym11", exists_internal, S_IFCHR, false},
- {":ptym12", BRACK(FHDEV(DEV_PTYM_MAJOR, 12)), "/dev/ptym12", exists_internal, S_IFCHR, false},
- {":ptym13", BRACK(FHDEV(DEV_PTYM_MAJOR, 13)), "/dev/ptym13", exists_internal, S_IFCHR, false},
- {":ptym14", BRACK(FHDEV(DEV_PTYM_MAJOR, 14)), "/dev/ptym14", exists_internal, S_IFCHR, false},
- {":ptym15", BRACK(FHDEV(DEV_PTYM_MAJOR, 15)), "/dev/ptym15", exists_internal, S_IFCHR, false},
- {":ptym16", BRACK(FHDEV(DEV_PTYM_MAJOR, 16)), "/dev/ptym16", exists_internal, S_IFCHR, false},
- {":ptym17", BRACK(FHDEV(DEV_PTYM_MAJOR, 17)), "/dev/ptym17", exists_internal, S_IFCHR, false},
- {":ptym18", BRACK(FHDEV(DEV_PTYM_MAJOR, 18)), "/dev/ptym18", exists_internal, S_IFCHR, false},
- {":ptym19", BRACK(FHDEV(DEV_PTYM_MAJOR, 19)), "/dev/ptym19", exists_internal, S_IFCHR, false},
- {":ptym20", BRACK(FHDEV(DEV_PTYM_MAJOR, 20)), "/dev/ptym20", exists_internal, S_IFCHR, false},
- {":ptym21", BRACK(FHDEV(DEV_PTYM_MAJOR, 21)), "/dev/ptym21", exists_internal, S_IFCHR, false},
- {":ptym22", BRACK(FHDEV(DEV_PTYM_MAJOR, 22)), "/dev/ptym22", exists_internal, S_IFCHR, false},
- {":ptym23", BRACK(FHDEV(DEV_PTYM_MAJOR, 23)), "/dev/ptym23", exists_internal, S_IFCHR, false},
- {":ptym24", BRACK(FHDEV(DEV_PTYM_MAJOR, 24)), "/dev/ptym24", exists_internal, S_IFCHR, false},
- {":ptym25", BRACK(FHDEV(DEV_PTYM_MAJOR, 25)), "/dev/ptym25", exists_internal, S_IFCHR, false},
- {":ptym26", BRACK(FHDEV(DEV_PTYM_MAJOR, 26)), "/dev/ptym26", exists_internal, S_IFCHR, false},
- {":ptym27", BRACK(FHDEV(DEV_PTYM_MAJOR, 27)), "/dev/ptym27", exists_internal, S_IFCHR, false},
- {":ptym28", BRACK(FHDEV(DEV_PTYM_MAJOR, 28)), "/dev/ptym28", exists_internal, S_IFCHR, false},
- {":ptym29", BRACK(FHDEV(DEV_PTYM_MAJOR, 29)), "/dev/ptym29", exists_internal, S_IFCHR, false},
- {":ptym30", BRACK(FHDEV(DEV_PTYM_MAJOR, 30)), "/dev/ptym30", exists_internal, S_IFCHR, false},
- {":ptym31", BRACK(FHDEV(DEV_PTYM_MAJOR, 31)), "/dev/ptym31", exists_internal, S_IFCHR, false},
- {":ptym32", BRACK(FHDEV(DEV_PTYM_MAJOR, 32)), "/dev/ptym32", exists_internal, S_IFCHR, false},
- {":ptym33", BRACK(FHDEV(DEV_PTYM_MAJOR, 33)), "/dev/ptym33", exists_internal, S_IFCHR, false},
- {":ptym34", BRACK(FHDEV(DEV_PTYM_MAJOR, 34)), "/dev/ptym34", exists_internal, S_IFCHR, false},
- {":ptym35", BRACK(FHDEV(DEV_PTYM_MAJOR, 35)), "/dev/ptym35", exists_internal, S_IFCHR, false},
- {":ptym36", BRACK(FHDEV(DEV_PTYM_MAJOR, 36)), "/dev/ptym36", exists_internal, S_IFCHR, false},
- {":ptym37", BRACK(FHDEV(DEV_PTYM_MAJOR, 37)), "/dev/ptym37", exists_internal, S_IFCHR, false},
- {":ptym38", BRACK(FHDEV(DEV_PTYM_MAJOR, 38)), "/dev/ptym38", exists_internal, S_IFCHR, false},
- {":ptym39", BRACK(FHDEV(DEV_PTYM_MAJOR, 39)), "/dev/ptym39", exists_internal, S_IFCHR, false},
- {":ptym40", BRACK(FHDEV(DEV_PTYM_MAJOR, 40)), "/dev/ptym40", exists_internal, S_IFCHR, false},
- {":ptym41", BRACK(FHDEV(DEV_PTYM_MAJOR, 41)), "/dev/ptym41", exists_internal, S_IFCHR, false},
- {":ptym42", BRACK(FHDEV(DEV_PTYM_MAJOR, 42)), "/dev/ptym42", exists_internal, S_IFCHR, false},
- {":ptym43", BRACK(FHDEV(DEV_PTYM_MAJOR, 43)), "/dev/ptym43", exists_internal, S_IFCHR, false},
- {":ptym44", BRACK(FHDEV(DEV_PTYM_MAJOR, 44)), "/dev/ptym44", exists_internal, S_IFCHR, false},
- {":ptym45", BRACK(FHDEV(DEV_PTYM_MAJOR, 45)), "/dev/ptym45", exists_internal, S_IFCHR, false},
- {":ptym46", BRACK(FHDEV(DEV_PTYM_MAJOR, 46)), "/dev/ptym46", exists_internal, S_IFCHR, false},
- {":ptym47", BRACK(FHDEV(DEV_PTYM_MAJOR, 47)), "/dev/ptym47", exists_internal, S_IFCHR, false},
- {":ptym48", BRACK(FHDEV(DEV_PTYM_MAJOR, 48)), "/dev/ptym48", exists_internal, S_IFCHR, false},
- {":ptym49", BRACK(FHDEV(DEV_PTYM_MAJOR, 49)), "/dev/ptym49", exists_internal, S_IFCHR, false},
- {":ptym50", BRACK(FHDEV(DEV_PTYM_MAJOR, 50)), "/dev/ptym50", exists_internal, S_IFCHR, false},
- {":ptym51", BRACK(FHDEV(DEV_PTYM_MAJOR, 51)), "/dev/ptym51", exists_internal, S_IFCHR, false},
- {":ptym52", BRACK(FHDEV(DEV_PTYM_MAJOR, 52)), "/dev/ptym52", exists_internal, S_IFCHR, false},
- {":ptym53", BRACK(FHDEV(DEV_PTYM_MAJOR, 53)), "/dev/ptym53", exists_internal, S_IFCHR, false},
- {":ptym54", BRACK(FHDEV(DEV_PTYM_MAJOR, 54)), "/dev/ptym54", exists_internal, S_IFCHR, false},
- {":ptym55", BRACK(FHDEV(DEV_PTYM_MAJOR, 55)), "/dev/ptym55", exists_internal, S_IFCHR, false},
- {":ptym56", BRACK(FHDEV(DEV_PTYM_MAJOR, 56)), "/dev/ptym56", exists_internal, S_IFCHR, false},
- {":ptym57", BRACK(FHDEV(DEV_PTYM_MAJOR, 57)), "/dev/ptym57", exists_internal, S_IFCHR, false},
- {":ptym58", BRACK(FHDEV(DEV_PTYM_MAJOR, 58)), "/dev/ptym58", exists_internal, S_IFCHR, false},
- {":ptym59", BRACK(FHDEV(DEV_PTYM_MAJOR, 59)), "/dev/ptym59", exists_internal, S_IFCHR, false},
- {":ptym60", BRACK(FHDEV(DEV_PTYM_MAJOR, 60)), "/dev/ptym60", exists_internal, S_IFCHR, false},
- {":ptym61", BRACK(FHDEV(DEV_PTYM_MAJOR, 61)), "/dev/ptym61", exists_internal, S_IFCHR, false},
- {":ptym62", BRACK(FHDEV(DEV_PTYM_MAJOR, 62)), "/dev/ptym62", exists_internal, S_IFCHR, false},
- {":ptym63", BRACK(FHDEV(DEV_PTYM_MAJOR, 63)), "/dev/ptym63", exists_internal, S_IFCHR, false}
+
+static const device dev_storage[] =
+{
+ {"/dev", BRACK(FH_DEV), "/dev"},
+ {"/dev/clipboard", BRACK(FH_CLIPBOARD), "/dev/clipboard"},
+ {"/dev/com1", BRACK(FHDEV(DEV_SERIAL_MAJOR, 0)), "\\??\\COM1"},
+ {"/dev/com2", BRACK(FHDEV(DEV_SERIAL_MAJOR, 1)), "\\??\\COM2"},
+ {"/dev/com3", BRACK(FHDEV(DEV_SERIAL_MAJOR, 2)), "\\??\\COM3"},
+ {"/dev/com4", BRACK(FHDEV(DEV_SERIAL_MAJOR, 3)), "\\??\\COM4"},
+ {"/dev/com5", BRACK(FHDEV(DEV_SERIAL_MAJOR, 4)), "\\??\\COM5"},
+ {"/dev/com6", BRACK(FHDEV(DEV_SERIAL_MAJOR, 5)), "\\??\\COM6"},
+ {"/dev/com7", BRACK(FHDEV(DEV_SERIAL_MAJOR, 6)), "\\??\\COM7"},
+ {"/dev/com8", BRACK(FHDEV(DEV_SERIAL_MAJOR, 7)), "\\??\\COM8"},
+ {"/dev/com9", BRACK(FHDEV(DEV_SERIAL_MAJOR, 8)), "\\??\\COM9"},
+ {"/dev/com10", BRACK(FHDEV(DEV_SERIAL_MAJOR, 9)), "\\??\\COM10"},
+ {"/dev/com11", BRACK(FHDEV(DEV_SERIAL_MAJOR, 10)), "\\??\\COM11"},
+ {"/dev/com12", BRACK(FHDEV(DEV_SERIAL_MAJOR, 11)), "\\??\\COM12"},
+ {"/dev/com13", BRACK(FHDEV(DEV_SERIAL_MAJOR, 12)), "\\??\\COM13"},
+ {"/dev/com14", BRACK(FHDEV(DEV_SERIAL_MAJOR, 13)), "\\??\\COM14"},
+ {"/dev/com15", BRACK(FHDEV(DEV_SERIAL_MAJOR, 14)), "\\??\\COM15"},
+ {"/dev/com16", BRACK(FHDEV(DEV_SERIAL_MAJOR, 15)), "\\??\\COM16"},
+ {"/dev/conin", BRACK(FH_CONIN), "/dev/conin"},
+ {"/dev/conout", BRACK(FH_CONOUT), "/dev/conout"},
+ {"/dev/cons0", BRACK(FHDEV(DEV_CONS_MAJOR, 0)), "/dev/cons0"},
+ {"/dev/cons1", BRACK(FHDEV(DEV_CONS_MAJOR, 1)), "/dev/cons1"},
+ {"/dev/cons2", BRACK(FHDEV(DEV_CONS_MAJOR, 2)), "/dev/cons2"},
+ {"/dev/cons3", BRACK(FHDEV(DEV_CONS_MAJOR, 3)), "/dev/cons3"},
+ {"/dev/cons4", BRACK(FHDEV(DEV_CONS_MAJOR, 4)), "/dev/cons4"},
+ {"/dev/cons5", BRACK(FHDEV(DEV_CONS_MAJOR, 5)), "/dev/cons5"},
+ {"/dev/cons6", BRACK(FHDEV(DEV_CONS_MAJOR, 6)), "/dev/cons6"},
+ {"/dev/cons7", BRACK(FHDEV(DEV_CONS_MAJOR, 7)), "/dev/cons7"},
+ {"/dev/cons8", BRACK(FHDEV(DEV_CONS_MAJOR, 8)), "/dev/cons8"},
+ {"/dev/cons9", BRACK(FHDEV(DEV_CONS_MAJOR, 9)), "/dev/cons9"},
+ {"/dev/cons10", BRACK(FHDEV(DEV_CONS_MAJOR, 10)), "/dev/cons10"},
+ {"/dev/cons11", BRACK(FHDEV(DEV_CONS_MAJOR, 11)), "/dev/cons11"},
+ {"/dev/cons12", BRACK(FHDEV(DEV_CONS_MAJOR, 12)), "/dev/cons12"},
+ {"/dev/cons13", BRACK(FHDEV(DEV_CONS_MAJOR, 13)), "/dev/cons13"},
+ {"/dev/cons14", BRACK(FHDEV(DEV_CONS_MAJOR, 14)), "/dev/cons14"},
+ {"/dev/cons15", BRACK(FHDEV(DEV_CONS_MAJOR, 15)), "/dev/cons15"},
+ {"/dev/cons16", BRACK(FHDEV(DEV_CONS_MAJOR, 16)), "/dev/cons16"},
+ {"/dev/cons17", BRACK(FHDEV(DEV_CONS_MAJOR, 17)), "/dev/cons17"},
+ {"/dev/cons18", BRACK(FHDEV(DEV_CONS_MAJOR, 18)), "/dev/cons18"},
+ {"/dev/cons19", BRACK(FHDEV(DEV_CONS_MAJOR, 19)), "/dev/cons19"},
+ {"/dev/cons20", BRACK(FHDEV(DEV_CONS_MAJOR, 20)), "/dev/cons20"},
+ {"/dev/cons21", BRACK(FHDEV(DEV_CONS_MAJOR, 21)), "/dev/cons21"},
+ {"/dev/cons22", BRACK(FHDEV(DEV_CONS_MAJOR, 22)), "/dev/cons22"},
+ {"/dev/cons23", BRACK(FHDEV(DEV_CONS_MAJOR, 23)), "/dev/cons23"},
+ {"/dev/cons24", BRACK(FHDEV(DEV_CONS_MAJOR, 24)), "/dev/cons24"},
+ {"/dev/cons25", BRACK(FHDEV(DEV_CONS_MAJOR, 25)), "/dev/cons25"},
+ {"/dev/cons26", BRACK(FHDEV(DEV_CONS_MAJOR, 26)), "/dev/cons26"},
+ {"/dev/cons27", BRACK(FHDEV(DEV_CONS_MAJOR, 27)), "/dev/cons27"},
+ {"/dev/cons28", BRACK(FHDEV(DEV_CONS_MAJOR, 28)), "/dev/cons28"},
+ {"/dev/cons29", BRACK(FHDEV(DEV_CONS_MAJOR, 29)), "/dev/cons29"},
+ {"/dev/cons30", BRACK(FHDEV(DEV_CONS_MAJOR, 30)), "/dev/cons30"},
+ {"/dev/cons31", BRACK(FHDEV(DEV_CONS_MAJOR, 31)), "/dev/cons31"},
+ {"/dev/cons32", BRACK(FHDEV(DEV_CONS_MAJOR, 32)), "/dev/cons32"},
+ {"/dev/cons33", BRACK(FHDEV(DEV_CONS_MAJOR, 33)), "/dev/cons33"},
+ {"/dev/cons34", BRACK(FHDEV(DEV_CONS_MAJOR, 34)), "/dev/cons34"},
+ {"/dev/cons35", BRACK(FHDEV(DEV_CONS_MAJOR, 35)), "/dev/cons35"},
+ {"/dev/cons36", BRACK(FHDEV(DEV_CONS_MAJOR, 36)), "/dev/cons36"},
+ {"/dev/cons37", BRACK(FHDEV(DEV_CONS_MAJOR, 37)), "/dev/cons37"},
+ {"/dev/cons38", BRACK(FHDEV(DEV_CONS_MAJOR, 38)), "/dev/cons38"},
+ {"/dev/cons39", BRACK(FHDEV(DEV_CONS_MAJOR, 39)), "/dev/cons39"},
+ {"/dev/cons40", BRACK(FHDEV(DEV_CONS_MAJOR, 40)), "/dev/cons40"},
+ {"/dev/cons41", BRACK(FHDEV(DEV_CONS_MAJOR, 41)), "/dev/cons41"},
+ {"/dev/cons42", BRACK(FHDEV(DEV_CONS_MAJOR, 42)), "/dev/cons42"},
+ {"/dev/cons43", BRACK(FHDEV(DEV_CONS_MAJOR, 43)), "/dev/cons43"},
+ {"/dev/cons44", BRACK(FHDEV(DEV_CONS_MAJOR, 44)), "/dev/cons44"},
+ {"/dev/cons45", BRACK(FHDEV(DEV_CONS_MAJOR, 45)), "/dev/cons45"},
+ {"/dev/cons46", BRACK(FHDEV(DEV_CONS_MAJOR, 46)), "/dev/cons46"},
+ {"/dev/cons47", BRACK(FHDEV(DEV_CONS_MAJOR, 47)), "/dev/cons47"},
+ {"/dev/cons48", BRACK(FHDEV(DEV_CONS_MAJOR, 48)), "/dev/cons48"},
+ {"/dev/cons49", BRACK(FHDEV(DEV_CONS_MAJOR, 49)), "/dev/cons49"},
+ {"/dev/cons50", BRACK(FHDEV(DEV_CONS_MAJOR, 50)), "/dev/cons50"},
+ {"/dev/cons51", BRACK(FHDEV(DEV_CONS_MAJOR, 51)), "/dev/cons51"},
+ {"/dev/cons52", BRACK(FHDEV(DEV_CONS_MAJOR, 52)), "/dev/cons52"},
+ {"/dev/cons53", BRACK(FHDEV(DEV_CONS_MAJOR, 53)), "/dev/cons53"},
+ {"/dev/cons54", BRACK(FHDEV(DEV_CONS_MAJOR, 54)), "/dev/cons54"},
+ {"/dev/cons55", BRACK(FHDEV(DEV_CONS_MAJOR, 55)), "/dev/cons55"},
+ {"/dev/cons56", BRACK(FHDEV(DEV_CONS_MAJOR, 56)), "/dev/cons56"},
+ {"/dev/cons57", BRACK(FHDEV(DEV_CONS_MAJOR, 57)), "/dev/cons57"},
+ {"/dev/cons58", BRACK(FHDEV(DEV_CONS_MAJOR, 58)), "/dev/cons58"},
+ {"/dev/cons59", BRACK(FHDEV(DEV_CONS_MAJOR, 59)), "/dev/cons59"},
+ {"/dev/cons60", BRACK(FHDEV(DEV_CONS_MAJOR, 60)), "/dev/cons60"},
+ {"/dev/cons61", BRACK(FHDEV(DEV_CONS_MAJOR, 61)), "/dev/cons61"},
+ {"/dev/cons62", BRACK(FHDEV(DEV_CONS_MAJOR, 62)), "/dev/cons62"},
+ {"/dev/cons63", BRACK(FHDEV(DEV_CONS_MAJOR, 63)), "/dev/cons63"},
+ {"/dev/console", BRACK(FH_CONSOLE), "/dev/console"},
+ {"/dev/dsp", BRACK(FH_OSS_DSP), "/dev/dsp"},
+ {"/dev/fd0", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 0)), "\\Device\\Floppy0"},
+ {"/dev/fd1", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 1)), "\\Device\\Floppy1"},
+ {"/dev/fd2", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 2)), "\\Device\\Floppy2"},
+ {"/dev/fd3", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 3)), "\\Device\\Floppy3"},
+ {"/dev/fd4", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 4)), "\\Device\\Floppy4"},
+ {"/dev/fd5", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 5)), "\\Device\\Floppy5"},
+ {"/dev/fd6", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 6)), "\\Device\\Floppy6"},
+ {"/dev/fd7", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 7)), "\\Device\\Floppy7"},
+ {"/dev/fd8", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 8)), "\\Device\\Floppy8"},
+ {"/dev/fd9", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 9)), "\\Device\\Floppy9"},
+ {"/dev/fd10", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 10)), "\\Device\\Floppy10"},
+ {"/dev/fd11", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 11)), "\\Device\\Floppy11"},
+ {"/dev/fd12", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 12)), "\\Device\\Floppy12"},
+ {"/dev/fd13", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 13)), "\\Device\\Floppy13"},
+ {"/dev/fd14", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 14)), "\\Device\\Floppy14"},
+ {"/dev/fd15", BRACK(FHDEV(DEV_FLOPPY_MAJOR, 15)), "\\Device\\Floppy15"},
+ {"/dev/fifo", BRACK(FH_FIFO), "/dev/fifo"},
+ {"/dev/full", BRACK(FH_FULL), "/dev/full"},
+ {"/dev/kmem", BRACK(FH_KMEM), "/dev/mem"},
+ {"/dev/kmsg", BRACK(FH_KMSG), "\\Device\\MailSlot\\cygwin\\dev\\kmsg"},
+ {"/dev/mem", BRACK(FH_MEM), "/dev/mem"},
+ {"/dev/nst0", BRACK(FHDEV(DEV_TAPE_MAJOR, 128)), "\\Device\\Tape0"},
+ {"/dev/nst1", BRACK(FHDEV(DEV_TAPE_MAJOR, 129)), "\\Device\\Tape1"},
+ {"/dev/nst2", BRACK(FHDEV(DEV_TAPE_MAJOR, 130)), "\\Device\\Tape2"},
+ {"/dev/nst3", BRACK(FHDEV(DEV_TAPE_MAJOR, 131)), "\\Device\\Tape3"},
+ {"/dev/nst4", BRACK(FHDEV(DEV_TAPE_MAJOR, 132)), "\\Device\\Tape4"},
+ {"/dev/nst5", BRACK(FHDEV(DEV_TAPE_MAJOR, 133)), "\\Device\\Tape5"},
+ {"/dev/nst6", BRACK(FHDEV(DEV_TAPE_MAJOR, 134)), "\\Device\\Tape6"},
+ {"/dev/nst7", BRACK(FHDEV(DEV_TAPE_MAJOR, 135)), "\\Device\\Tape7"},
+ {"/dev/nst8", BRACK(FHDEV(DEV_TAPE_MAJOR, 136)), "\\Device\\Tape8"},
+ {"/dev/nst9", BRACK(FHDEV(DEV_TAPE_MAJOR, 137)), "\\Device\\Tape9"},
+ {"/dev/nst10", BRACK(FHDEV(DEV_TAPE_MAJOR, 138)), "\\Device\\Tape10"},
+ {"/dev/nst11", BRACK(FHDEV(DEV_TAPE_MAJOR, 139)), "\\Device\\Tape11"},
+ {"/dev/nst12", BRACK(FHDEV(DEV_TAPE_MAJOR, 140)), "\\Device\\Tape12"},
+ {"/dev/nst13", BRACK(FHDEV(DEV_TAPE_MAJOR, 141)), "\\Device\\Tape13"},
+ {"/dev/nst14", BRACK(FHDEV(DEV_TAPE_MAJOR, 142)), "\\Device\\Tape14"},
+ {"/dev/nst15", BRACK(FHDEV(DEV_TAPE_MAJOR, 143)), "\\Device\\Tape15"},
+ {"/dev/nst16", BRACK(FHDEV(DEV_TAPE_MAJOR, 144)), "\\Device\\Tape16"},
+ {"/dev/nst17", BRACK(FHDEV(DEV_TAPE_MAJOR, 145)), "\\Device\\Tape17"},
+ {"/dev/nst18", BRACK(FHDEV(DEV_TAPE_MAJOR, 146)), "\\Device\\Tape18"},
+ {"/dev/nst19", BRACK(FHDEV(DEV_TAPE_MAJOR, 147)), "\\Device\\Tape19"},
+ {"/dev/nst20", BRACK(FHDEV(DEV_TAPE_MAJOR, 148)), "\\Device\\Tape20"},
+ {"/dev/nst21", BRACK(FHDEV(DEV_TAPE_MAJOR, 149)), "\\Device\\Tape21"},
+ {"/dev/nst22", BRACK(FHDEV(DEV_TAPE_MAJOR, 150)), "\\Device\\Tape22"},
+ {"/dev/nst23", BRACK(FHDEV(DEV_TAPE_MAJOR, 151)), "\\Device\\Tape23"},
+ {"/dev/nst24", BRACK(FHDEV(DEV_TAPE_MAJOR, 152)), "\\Device\\Tape24"},
+ {"/dev/nst25", BRACK(FHDEV(DEV_TAPE_MAJOR, 153)), "\\Device\\Tape25"},
+ {"/dev/nst26", BRACK(FHDEV(DEV_TAPE_MAJOR, 154)), "\\Device\\Tape26"},
+ {"/dev/nst27", BRACK(FHDEV(DEV_TAPE_MAJOR, 155)), "\\Device\\Tape27"},
+ {"/dev/nst28", BRACK(FHDEV(DEV_TAPE_MAJOR, 156)), "\\Device\\Tape28"},
+ {"/dev/nst29", BRACK(FHDEV(DEV_TAPE_MAJOR, 157)), "\\Device\\Tape29"},
+ {"/dev/nst30", BRACK(FHDEV(DEV_TAPE_MAJOR, 158)), "\\Device\\Tape30"},
+ {"/dev/nst31", BRACK(FHDEV(DEV_TAPE_MAJOR, 159)), "\\Device\\Tape31"},
+ {"/dev/nst32", BRACK(FHDEV(DEV_TAPE_MAJOR, 160)), "\\Device\\Tape32"},
+ {"/dev/nst33", BRACK(FHDEV(DEV_TAPE_MAJOR, 161)), "\\Device\\Tape33"},
+ {"/dev/nst34", BRACK(FHDEV(DEV_TAPE_MAJOR, 162)), "\\Device\\Tape34"},
+ {"/dev/nst35", BRACK(FHDEV(DEV_TAPE_MAJOR, 163)), "\\Device\\Tape35"},
+ {"/dev/nst36", BRACK(FHDEV(DEV_TAPE_MAJOR, 164)), "\\Device\\Tape36"},
+ {"/dev/nst37", BRACK(FHDEV(DEV_TAPE_MAJOR, 165)), "\\Device\\Tape37"},
+ {"/dev/nst38", BRACK(FHDEV(DEV_TAPE_MAJOR, 166)), "\\Device\\Tape38"},
+ {"/dev/nst39", BRACK(FHDEV(DEV_TAPE_MAJOR, 167)), "\\Device\\Tape39"},
+ {"/dev/nst40", BRACK(FHDEV(DEV_TAPE_MAJOR, 168)), "\\Device\\Tape40"},
+ {"/dev/nst41", BRACK(FHDEV(DEV_TAPE_MAJOR, 169)), "\\Device\\Tape41"},
+ {"/dev/nst42", BRACK(FHDEV(DEV_TAPE_MAJOR, 170)), "\\Device\\Tape42"},
+ {"/dev/nst43", BRACK(FHDEV(DEV_TAPE_MAJOR, 171)), "\\Device\\Tape43"},
+ {"/dev/nst44", BRACK(FHDEV(DEV_TAPE_MAJOR, 172)), "\\Device\\Tape44"},
+ {"/dev/nst45", BRACK(FHDEV(DEV_TAPE_MAJOR, 173)), "\\Device\\Tape45"},
+ {"/dev/nst46", BRACK(FHDEV(DEV_TAPE_MAJOR, 174)), "\\Device\\Tape46"},
+ {"/dev/nst47", BRACK(FHDEV(DEV_TAPE_MAJOR, 175)), "\\Device\\Tape47"},
+ {"/dev/nst48", BRACK(FHDEV(DEV_TAPE_MAJOR, 176)), "\\Device\\Tape48"},
+ {"/dev/nst49", BRACK(FHDEV(DEV_TAPE_MAJOR, 177)), "\\Device\\Tape49"},
+ {"/dev/nst50", BRACK(FHDEV(DEV_TAPE_MAJOR, 178)), "\\Device\\Tape50"},
+ {"/dev/nst51", BRACK(FHDEV(DEV_TAPE_MAJOR, 179)), "\\Device\\Tape51"},
+ {"/dev/nst52", BRACK(FHDEV(DEV_TAPE_MAJOR, 180)), "\\Device\\Tape52"},
+ {"/dev/nst53", BRACK(FHDEV(DEV_TAPE_MAJOR, 181)), "\\Device\\Tape53"},
+ {"/dev/nst54", BRACK(FHDEV(DEV_TAPE_MAJOR, 182)), "\\Device\\Tape54"},
+ {"/dev/nst55", BRACK(FHDEV(DEV_TAPE_MAJOR, 183)), "\\Device\\Tape55"},
+ {"/dev/nst56", BRACK(FHDEV(DEV_TAPE_MAJOR, 184)), "\\Device\\Tape56"},
+ {"/dev/nst57", BRACK(FHDEV(DEV_TAPE_MAJOR, 185)), "\\Device\\Tape57"},
+ {"/dev/nst58", BRACK(FHDEV(DEV_TAPE_MAJOR, 186)), "\\Device\\Tape58"},
+ {"/dev/nst59", BRACK(FHDEV(DEV_TAPE_MAJOR, 187)), "\\Device\\Tape59"},
+ {"/dev/nst60", BRACK(FHDEV(DEV_TAPE_MAJOR, 188)), "\\Device\\Tape60"},
+ {"/dev/nst61", BRACK(FHDEV(DEV_TAPE_MAJOR, 189)), "\\Device\\Tape61"},
+ {"/dev/nst62", BRACK(FHDEV(DEV_TAPE_MAJOR, 190)), "\\Device\\Tape62"},
+ {"/dev/nst63", BRACK(FHDEV(DEV_TAPE_MAJOR, 191)), "\\Device\\Tape63"},
+ {"/dev/nst64", BRACK(FHDEV(DEV_TAPE_MAJOR, 192)), "\\Device\\Tape64"},
+ {"/dev/nst65", BRACK(FHDEV(DEV_TAPE_MAJOR, 193)), "\\Device\\Tape65"},
+ {"/dev/nst66", BRACK(FHDEV(DEV_TAPE_MAJOR, 194)), "\\Device\\Tape66"},
+ {"/dev/nst67", BRACK(FHDEV(DEV_TAPE_MAJOR, 195)), "\\Device\\Tape67"},
+ {"/dev/nst68", BRACK(FHDEV(DEV_TAPE_MAJOR, 196)), "\\Device\\Tape68"},
+ {"/dev/nst69", BRACK(FHDEV(DEV_TAPE_MAJOR, 197)), "\\Device\\Tape69"},
+ {"/dev/nst70", BRACK(FHDEV(DEV_TAPE_MAJOR, 198)), "\\Device\\Tape70"},
+ {"/dev/nst71", BRACK(FHDEV(DEV_TAPE_MAJOR, 199)), "\\Device\\Tape71"},
+ {"/dev/nst72", BRACK(FHDEV(DEV_TAPE_MAJOR, 200)), "\\Device\\Tape72"},
+ {"/dev/nst73", BRACK(FHDEV(DEV_TAPE_MAJOR, 201)), "\\Device\\Tape73"},
+ {"/dev/nst74", BRACK(FHDEV(DEV_TAPE_MAJOR, 202)), "\\Device\\Tape74"},
+ {"/dev/nst75", BRACK(FHDEV(DEV_TAPE_MAJOR, 203)), "\\Device\\Tape75"},
+ {"/dev/nst76", BRACK(FHDEV(DEV_TAPE_MAJOR, 204)), "\\Device\\Tape76"},
+ {"/dev/nst77", BRACK(FHDEV(DEV_TAPE_MAJOR, 205)), "\\Device\\Tape77"},
+ {"/dev/nst78", BRACK(FHDEV(DEV_TAPE_MAJOR, 206)), "\\Device\\Tape78"},
+ {"/dev/nst79", BRACK(FHDEV(DEV_TAPE_MAJOR, 207)), "\\Device\\Tape79"},
+ {"/dev/nst80", BRACK(FHDEV(DEV_TAPE_MAJOR, 208)), "\\Device\\Tape80"},
+ {"/dev/nst81", BRACK(FHDEV(DEV_TAPE_MAJOR, 209)), "\\Device\\Tape81"},
+ {"/dev/nst82", BRACK(FHDEV(DEV_TAPE_MAJOR, 210)), "\\Device\\Tape82"},
+ {"/dev/nst83", BRACK(FHDEV(DEV_TAPE_MAJOR, 211)), "\\Device\\Tape83"},
+ {"/dev/nst84", BRACK(FHDEV(DEV_TAPE_MAJOR, 212)), "\\Device\\Tape84"},
+ {"/dev/nst85", BRACK(FHDEV(DEV_TAPE_MAJOR, 213)), "\\Device\\Tape85"},
+ {"/dev/nst86", BRACK(FHDEV(DEV_TAPE_MAJOR, 214)), "\\Device\\Tape86"},
+ {"/dev/nst87", BRACK(FHDEV(DEV_TAPE_MAJOR, 215)), "\\Device\\Tape87"},
+ {"/dev/nst88", BRACK(FHDEV(DEV_TAPE_MAJOR, 216)), "\\Device\\Tape88"},
+ {"/dev/nst89", BRACK(FHDEV(DEV_TAPE_MAJOR, 217)), "\\Device\\Tape89"},
+ {"/dev/nst90", BRACK(FHDEV(DEV_TAPE_MAJOR, 218)), "\\Device\\Tape90"},
+ {"/dev/nst91", BRACK(FHDEV(DEV_TAPE_MAJOR, 219)), "\\Device\\Tape91"},
+ {"/dev/nst92", BRACK(FHDEV(DEV_TAPE_MAJOR, 220)), "\\Device\\Tape92"},
+ {"/dev/nst93", BRACK(FHDEV(DEV_TAPE_MAJOR, 221)), "\\Device\\Tape93"},
+ {"/dev/nst94", BRACK(FHDEV(DEV_TAPE_MAJOR, 222)), "\\Device\\Tape94"},
+ {"/dev/nst95", BRACK(FHDEV(DEV_TAPE_MAJOR, 223)), "\\Device\\Tape95"},
+ {"/dev/nst96", BRACK(FHDEV(DEV_TAPE_MAJOR, 224)), "\\Device\\Tape96"},
+ {"/dev/nst97", BRACK(FHDEV(DEV_TAPE_MAJOR, 225)), "\\Device\\Tape97"},
+ {"/dev/nst98", BRACK(FHDEV(DEV_TAPE_MAJOR, 226)), "\\Device\\Tape98"},
+ {"/dev/nst99", BRACK(FHDEV(DEV_TAPE_MAJOR, 227)), "\\Device\\Tape99"},
+ {"/dev/nst100", BRACK(FHDEV(DEV_TAPE_MAJOR, 228)), "\\Device\\Tape100"},
+ {"/dev/nst101", BRACK(FHDEV(DEV_TAPE_MAJOR, 229)), "\\Device\\Tape101"},
+ {"/dev/nst102", BRACK(FHDEV(DEV_TAPE_MAJOR, 230)), "\\Device\\Tape102"},
+ {"/dev/nst103", BRACK(FHDEV(DEV_TAPE_MAJOR, 231)), "\\Device\\Tape103"},
+ {"/dev/nst104", BRACK(FHDEV(DEV_TAPE_MAJOR, 232)), "\\Device\\Tape104"},
+ {"/dev/nst105", BRACK(FHDEV(DEV_TAPE_MAJOR, 233)), "\\Device\\Tape105"},
+ {"/dev/nst106", BRACK(FHDEV(DEV_TAPE_MAJOR, 234)), "\\Device\\Tape106"},
+ {"/dev/nst107", BRACK(FHDEV(DEV_TAPE_MAJOR, 235)), "\\Device\\Tape107"},
+ {"/dev/nst108", BRACK(FHDEV(DEV_TAPE_MAJOR, 236)), "\\Device\\Tape108"},
+ {"/dev/nst109", BRACK(FHDEV(DEV_TAPE_MAJOR, 237)), "\\Device\\Tape109"},
+ {"/dev/nst110", BRACK(FHDEV(DEV_TAPE_MAJOR, 238)), "\\Device\\Tape110"},
+ {"/dev/nst111", BRACK(FHDEV(DEV_TAPE_MAJOR, 239)), "\\Device\\Tape111"},
+ {"/dev/nst112", BRACK(FHDEV(DEV_TAPE_MAJOR, 240)), "\\Device\\Tape112"},
+ {"/dev/nst113", BRACK(FHDEV(DEV_TAPE_MAJOR, 241)), "\\Device\\Tape113"},
+ {"/dev/nst114", BRACK(FHDEV(DEV_TAPE_MAJOR, 242)), "\\Device\\Tape114"},
+ {"/dev/nst115", BRACK(FHDEV(DEV_TAPE_MAJOR, 243)), "\\Device\\Tape115"},
+ {"/dev/nst116", BRACK(FHDEV(DEV_TAPE_MAJOR, 244)), "\\Device\\Tape116"},
+ {"/dev/nst117", BRACK(FHDEV(DEV_TAPE_MAJOR, 245)), "\\Device\\Tape117"},
+ {"/dev/nst118", BRACK(FHDEV(DEV_TAPE_MAJOR, 246)), "\\Device\\Tape118"},
+ {"/dev/nst119", BRACK(FHDEV(DEV_TAPE_MAJOR, 247)), "\\Device\\Tape119"},
+ {"/dev/nst120", BRACK(FHDEV(DEV_TAPE_MAJOR, 248)), "\\Device\\Tape120"},
+ {"/dev/nst121", BRACK(FHDEV(DEV_TAPE_MAJOR, 249)), "\\Device\\Tape121"},
+ {"/dev/nst122", BRACK(FHDEV(DEV_TAPE_MAJOR, 250)), "\\Device\\Tape122"},
+ {"/dev/nst123", BRACK(FHDEV(DEV_TAPE_MAJOR, 251)), "\\Device\\Tape123"},
+ {"/dev/nst124", BRACK(FHDEV(DEV_TAPE_MAJOR, 252)), "\\Device\\Tape124"},
+ {"/dev/nst125", BRACK(FHDEV(DEV_TAPE_MAJOR, 253)), "\\Device\\Tape125"},
+ {"/dev/nst126", BRACK(FHDEV(DEV_TAPE_MAJOR, 254)), "\\Device\\Tape126"},
+ {"/dev/nst127", BRACK(FHDEV(DEV_TAPE_MAJOR, 255)), "\\Device\\Tape127"},
+ {"/dev/null", BRACK(FH_NULL), "\\Device\\Null"},
+ {"/dev/pipe", BRACK(FH_PIPE), "/dev/pipe"},
+ {"/dev/port", BRACK(FH_PORT), "/dev/port"},
+ {"/dev/ptmx", BRACK(FH_PTMX), "/dev/ptmx"},
+ {"/dev/pty0", BRACK(FHDEV(DEV_PTYS_MAJOR, 0)), "/dev/pty0"},
+ {"/dev/pty1", BRACK(FHDEV(DEV_PTYS_MAJOR, 1)), "/dev/pty1"},
+ {"/dev/pty2", BRACK(FHDEV(DEV_PTYS_MAJOR, 2)), "/dev/pty2"},
+ {"/dev/pty3", BRACK(FHDEV(DEV_PTYS_MAJOR, 3)), "/dev/pty3"},
+ {"/dev/pty4", BRACK(FHDEV(DEV_PTYS_MAJOR, 4)), "/dev/pty4"},
+ {"/dev/pty5", BRACK(FHDEV(DEV_PTYS_MAJOR, 5)), "/dev/pty5"},
+ {"/dev/pty6", BRACK(FHDEV(DEV_PTYS_MAJOR, 6)), "/dev/pty6"},
+ {"/dev/pty7", BRACK(FHDEV(DEV_PTYS_MAJOR, 7)), "/dev/pty7"},
+ {"/dev/pty8", BRACK(FHDEV(DEV_PTYS_MAJOR, 8)), "/dev/pty8"},
+ {"/dev/pty9", BRACK(FHDEV(DEV_PTYS_MAJOR, 9)), "/dev/pty9"},
+ {"/dev/pty10", BRACK(FHDEV(DEV_PTYS_MAJOR, 10)), "/dev/pty10"},
+ {"/dev/pty11", BRACK(FHDEV(DEV_PTYS_MAJOR, 11)), "/dev/pty11"},
+ {"/dev/pty12", BRACK(FHDEV(DEV_PTYS_MAJOR, 12)), "/dev/pty12"},
+ {"/dev/pty13", BRACK(FHDEV(DEV_PTYS_MAJOR, 13)), "/dev/pty13"},
+ {"/dev/pty14", BRACK(FHDEV(DEV_PTYS_MAJOR, 14)), "/dev/pty14"},
+ {"/dev/pty15", BRACK(FHDEV(DEV_PTYS_MAJOR, 15)), "/dev/pty15"},
+ {"/dev/pty16", BRACK(FHDEV(DEV_PTYS_MAJOR, 16)), "/dev/pty16"},
+ {"/dev/pty17", BRACK(FHDEV(DEV_PTYS_MAJOR, 17)), "/dev/pty17"},
+ {"/dev/pty18", BRACK(FHDEV(DEV_PTYS_MAJOR, 18)), "/dev/pty18"},
+ {"/dev/pty19", BRACK(FHDEV(DEV_PTYS_MAJOR, 19)), "/dev/pty19"},
+ {"/dev/pty20", BRACK(FHDEV(DEV_PTYS_MAJOR, 20)), "/dev/pty20"},
+ {"/dev/pty21", BRACK(FHDEV(DEV_PTYS_MAJOR, 21)), "/dev/pty21"},
+ {"/dev/pty22", BRACK(FHDEV(DEV_PTYS_MAJOR, 22)), "/dev/pty22"},
+ {"/dev/pty23", BRACK(FHDEV(DEV_PTYS_MAJOR, 23)), "/dev/pty23"},
+ {"/dev/pty24", BRACK(FHDEV(DEV_PTYS_MAJOR, 24)), "/dev/pty24"},
+ {"/dev/pty25", BRACK(FHDEV(DEV_PTYS_MAJOR, 25)), "/dev/pty25"},
+ {"/dev/pty26", BRACK(FHDEV(DEV_PTYS_MAJOR, 26)), "/dev/pty26"},
+ {"/dev/pty27", BRACK(FHDEV(DEV_PTYS_MAJOR, 27)), "/dev/pty27"},
+ {"/dev/pty28", BRACK(FHDEV(DEV_PTYS_MAJOR, 28)), "/dev/pty28"},
+ {"/dev/pty29", BRACK(FHDEV(DEV_PTYS_MAJOR, 29)), "/dev/pty29"},
+ {"/dev/pty30", BRACK(FHDEV(DEV_PTYS_MAJOR, 30)), "/dev/pty30"},
+ {"/dev/pty31", BRACK(FHDEV(DEV_PTYS_MAJOR, 31)), "/dev/pty31"},
+ {"/dev/pty32", BRACK(FHDEV(DEV_PTYS_MAJOR, 32)), "/dev/pty32"},
+ {"/dev/pty33", BRACK(FHDEV(DEV_PTYS_MAJOR, 33)), "/dev/pty33"},
+ {"/dev/pty34", BRACK(FHDEV(DEV_PTYS_MAJOR, 34)), "/dev/pty34"},
+ {"/dev/pty35", BRACK(FHDEV(DEV_PTYS_MAJOR, 35)), "/dev/pty35"},
+ {"/dev/pty36", BRACK(FHDEV(DEV_PTYS_MAJOR, 36)), "/dev/pty36"},
+ {"/dev/pty37", BRACK(FHDEV(DEV_PTYS_MAJOR, 37)), "/dev/pty37"},
+ {"/dev/pty38", BRACK(FHDEV(DEV_PTYS_MAJOR, 38)), "/dev/pty38"},
+ {"/dev/pty39", BRACK(FHDEV(DEV_PTYS_MAJOR, 39)), "/dev/pty39"},
+ {"/dev/pty40", BRACK(FHDEV(DEV_PTYS_MAJOR, 40)), "/dev/pty40"},
+ {"/dev/pty41", BRACK(FHDEV(DEV_PTYS_MAJOR, 41)), "/dev/pty41"},
+ {"/dev/pty42", BRACK(FHDEV(DEV_PTYS_MAJOR, 42)), "/dev/pty42"},
+ {"/dev/pty43", BRACK(FHDEV(DEV_PTYS_MAJOR, 43)), "/dev/pty43"},
+ {"/dev/pty44", BRACK(FHDEV(DEV_PTYS_MAJOR, 44)), "/dev/pty44"},
+ {"/dev/pty45", BRACK(FHDEV(DEV_PTYS_MAJOR, 45)), "/dev/pty45"},
+ {"/dev/pty46", BRACK(FHDEV(DEV_PTYS_MAJOR, 46)), "/dev/pty46"},
+ {"/dev/pty47", BRACK(FHDEV(DEV_PTYS_MAJOR, 47)), "/dev/pty47"},
+ {"/dev/pty48", BRACK(FHDEV(DEV_PTYS_MAJOR, 48)), "/dev/pty48"},
+ {"/dev/pty49", BRACK(FHDEV(DEV_PTYS_MAJOR, 49)), "/dev/pty49"},
+ {"/dev/pty50", BRACK(FHDEV(DEV_PTYS_MAJOR, 50)), "/dev/pty50"},
+ {"/dev/pty51", BRACK(FHDEV(DEV_PTYS_MAJOR, 51)), "/dev/pty51"},
+ {"/dev/pty52", BRACK(FHDEV(DEV_PTYS_MAJOR, 52)), "/dev/pty52"},
+ {"/dev/pty53", BRACK(FHDEV(DEV_PTYS_MAJOR, 53)), "/dev/pty53"},
+ {"/dev/pty54", BRACK(FHDEV(DEV_PTYS_MAJOR, 54)), "/dev/pty54"},
+ {"/dev/pty55", BRACK(FHDEV(DEV_PTYS_MAJOR, 55)), "/dev/pty55"},
+ {"/dev/pty56", BRACK(FHDEV(DEV_PTYS_MAJOR, 56)), "/dev/pty56"},
+ {"/dev/pty57", BRACK(FHDEV(DEV_PTYS_MAJOR, 57)), "/dev/pty57"},
+ {"/dev/pty58", BRACK(FHDEV(DEV_PTYS_MAJOR, 58)), "/dev/pty58"},
+ {"/dev/pty59", BRACK(FHDEV(DEV_PTYS_MAJOR, 59)), "/dev/pty59"},
+ {"/dev/pty60", BRACK(FHDEV(DEV_PTYS_MAJOR, 60)), "/dev/pty60"},
+ {"/dev/pty61", BRACK(FHDEV(DEV_PTYS_MAJOR, 61)), "/dev/pty61"},
+ {"/dev/pty62", BRACK(FHDEV(DEV_PTYS_MAJOR, 62)), "/dev/pty62"},
+ {"/dev/pty63", BRACK(FHDEV(DEV_PTYS_MAJOR, 63)), "/dev/pty63"},
+ {"/dev/ptym0", BRACK(FHDEV(DEV_PTYM_MAJOR, 0)), "/dev/ptym0"},
+ {"/dev/ptym1", BRACK(FHDEV(DEV_PTYM_MAJOR, 1)), "/dev/ptym1"},
+ {"/dev/ptym2", BRACK(FHDEV(DEV_PTYM_MAJOR, 2)), "/dev/ptym2"},
+ {"/dev/ptym3", BRACK(FHDEV(DEV_PTYM_MAJOR, 3)), "/dev/ptym3"},
+ {"/dev/ptym4", BRACK(FHDEV(DEV_PTYM_MAJOR, 4)), "/dev/ptym4"},
+ {"/dev/ptym5", BRACK(FHDEV(DEV_PTYM_MAJOR, 5)), "/dev/ptym5"},
+ {"/dev/ptym6", BRACK(FHDEV(DEV_PTYM_MAJOR, 6)), "/dev/ptym6"},
+ {"/dev/ptym7", BRACK(FHDEV(DEV_PTYM_MAJOR, 7)), "/dev/ptym7"},
+ {"/dev/ptym8", BRACK(FHDEV(DEV_PTYM_MAJOR, 8)), "/dev/ptym8"},
+ {"/dev/ptym9", BRACK(FHDEV(DEV_PTYM_MAJOR, 9)), "/dev/ptym9"},
+ {"/dev/ptym10", BRACK(FHDEV(DEV_PTYM_MAJOR, 10)), "/dev/ptym10"},
+ {"/dev/ptym11", BRACK(FHDEV(DEV_PTYM_MAJOR, 11)), "/dev/ptym11"},
+ {"/dev/ptym12", BRACK(FHDEV(DEV_PTYM_MAJOR, 12)), "/dev/ptym12"},
+ {"/dev/ptym13", BRACK(FHDEV(DEV_PTYM_MAJOR, 13)), "/dev/ptym13"},
+ {"/dev/ptym14", BRACK(FHDEV(DEV_PTYM_MAJOR, 14)), "/dev/ptym14"},
+ {"/dev/ptym15", BRACK(FHDEV(DEV_PTYM_MAJOR, 15)), "/dev/ptym15"},
+ {"/dev/ptym16", BRACK(FHDEV(DEV_PTYM_MAJOR, 16)), "/dev/ptym16"},
+ {"/dev/ptym17", BRACK(FHDEV(DEV_PTYM_MAJOR, 17)), "/dev/ptym17"},
+ {"/dev/ptym18", BRACK(FHDEV(DEV_PTYM_MAJOR, 18)), "/dev/ptym18"},
+ {"/dev/ptym19", BRACK(FHDEV(DEV_PTYM_MAJOR, 19)), "/dev/ptym19"},
+ {"/dev/ptym20", BRACK(FHDEV(DEV_PTYM_MAJOR, 20)), "/dev/ptym20"},
+ {"/dev/ptym21", BRACK(FHDEV(DEV_PTYM_MAJOR, 21)), "/dev/ptym21"},
+ {"/dev/ptym22", BRACK(FHDEV(DEV_PTYM_MAJOR, 22)), "/dev/ptym22"},
+ {"/dev/ptym23", BRACK(FHDEV(DEV_PTYM_MAJOR, 23)), "/dev/ptym23"},
+ {"/dev/ptym24", BRACK(FHDEV(DEV_PTYM_MAJOR, 24)), "/dev/ptym24"},
+ {"/dev/ptym25", BRACK(FHDEV(DEV_PTYM_MAJOR, 25)), "/dev/ptym25"},
+ {"/dev/ptym26", BRACK(FHDEV(DEV_PTYM_MAJOR, 26)), "/dev/ptym26"},
+ {"/dev/ptym27", BRACK(FHDEV(DEV_PTYM_MAJOR, 27)), "/dev/ptym27"},
+ {"/dev/ptym28", BRACK(FHDEV(DEV_PTYM_MAJOR, 28)), "/dev/ptym28"},
+ {"/dev/ptym29", BRACK(FHDEV(DEV_PTYM_MAJOR, 29)), "/dev/ptym29"},
+ {"/dev/ptym30", BRACK(FHDEV(DEV_PTYM_MAJOR, 30)), "/dev/ptym30"},
+ {"/dev/ptym31", BRACK(FHDEV(DEV_PTYM_MAJOR, 31)), "/dev/ptym31"},
+ {"/dev/ptym32", BRACK(FHDEV(DEV_PTYM_MAJOR, 32)), "/dev/ptym32"},
+ {"/dev/ptym33", BRACK(FHDEV(DEV_PTYM_MAJOR, 33)), "/dev/ptym33"},
+ {"/dev/ptym34", BRACK(FHDEV(DEV_PTYM_MAJOR, 34)), "/dev/ptym34"},
+ {"/dev/ptym35", BRACK(FHDEV(DEV_PTYM_MAJOR, 35)), "/dev/ptym35"},
+ {"/dev/ptym36", BRACK(FHDEV(DEV_PTYM_MAJOR, 36)), "/dev/ptym36"},
+ {"/dev/ptym37", BRACK(FHDEV(DEV_PTYM_MAJOR, 37)), "/dev/ptym37"},
+ {"/dev/ptym38", BRACK(FHDEV(DEV_PTYM_MAJOR, 38)), "/dev/ptym38"},
+ {"/dev/ptym39", BRACK(FHDEV(DEV_PTYM_MAJOR, 39)), "/dev/ptym39"},
+ {"/dev/ptym40", BRACK(FHDEV(DEV_PTYM_MAJOR, 40)), "/dev/ptym40"},
+ {"/dev/ptym41", BRACK(FHDEV(DEV_PTYM_MAJOR, 41)), "/dev/ptym41"},
+ {"/dev/ptym42", BRACK(FHDEV(DEV_PTYM_MAJOR, 42)), "/dev/ptym42"},
+ {"/dev/ptym43", BRACK(FHDEV(DEV_PTYM_MAJOR, 43)), "/dev/ptym43"},
+ {"/dev/ptym44", BRACK(FHDEV(DEV_PTYM_MAJOR, 44)), "/dev/ptym44"},
+ {"/dev/ptym45", BRACK(FHDEV(DEV_PTYM_MAJOR, 45)), "/dev/ptym45"},
+ {"/dev/ptym46", BRACK(FHDEV(DEV_PTYM_MAJOR, 46)), "/dev/ptym46"},
+ {"/dev/ptym47", BRACK(FHDEV(DEV_PTYM_MAJOR, 47)), "/dev/ptym47"},
+ {"/dev/ptym48", BRACK(FHDEV(DEV_PTYM_MAJOR, 48)), "/dev/ptym48"},
+ {"/dev/ptym49", BRACK(FHDEV(DEV_PTYM_MAJOR, 49)), "/dev/ptym49"},
+ {"/dev/ptym50", BRACK(FHDEV(DEV_PTYM_MAJOR, 50)), "/dev/ptym50"},
+ {"/dev/ptym51", BRACK(FHDEV(DEV_PTYM_MAJOR, 51)), "/dev/ptym51"},
+ {"/dev/ptym52", BRACK(FHDEV(DEV_PTYM_MAJOR, 52)), "/dev/ptym52"},
+ {"/dev/ptym53", BRACK(FHDEV(DEV_PTYM_MAJOR, 53)), "/dev/ptym53"},
+ {"/dev/ptym54", BRACK(FHDEV(DEV_PTYM_MAJOR, 54)), "/dev/ptym54"},
+ {"/dev/ptym55", BRACK(FHDEV(DEV_PTYM_MAJOR, 55)), "/dev/ptym55"},
+ {"/dev/ptym56", BRACK(FHDEV(DEV_PTYM_MAJOR, 56)), "/dev/ptym56"},
+ {"/dev/ptym57", BRACK(FHDEV(DEV_PTYM_MAJOR, 57)), "/dev/ptym57"},
+ {"/dev/ptym58", BRACK(FHDEV(DEV_PTYM_MAJOR, 58)), "/dev/ptym58"},
+ {"/dev/ptym59", BRACK(FHDEV(DEV_PTYM_MAJOR, 59)), "/dev/ptym59"},
+ {"/dev/ptym60", BRACK(FHDEV(DEV_PTYM_MAJOR, 60)), "/dev/ptym60"},
+ {"/dev/ptym61", BRACK(FHDEV(DEV_PTYM_MAJOR, 61)), "/dev/ptym61"},
+ {"/dev/ptym62", BRACK(FHDEV(DEV_PTYM_MAJOR, 62)), "/dev/ptym62"},
+ {"/dev/ptym63", BRACK(FHDEV(DEV_PTYM_MAJOR, 63)), "/dev/ptym63"},
+ {"/dev/random", BRACK(FH_RANDOM), "/dev/random"},
+ {"/dev/scd0", BRACK(FHDEV(DEV_CDROM_MAJOR, 0)), "\\Device\\CdRom0"},
+ {"/dev/scd1", BRACK(FHDEV(DEV_CDROM_MAJOR, 1)), "\\Device\\CdRom1"},
+ {"/dev/scd2", BRACK(FHDEV(DEV_CDROM_MAJOR, 2)), "\\Device\\CdRom2"},
+ {"/dev/scd3", BRACK(FHDEV(DEV_CDROM_MAJOR, 3)), "\\Device\\CdRom3"},
+ {"/dev/scd4", BRACK(FHDEV(DEV_CDROM_MAJOR, 4)), "\\Device\\CdRom4"},
+ {"/dev/scd5", BRACK(FHDEV(DEV_CDROM_MAJOR, 5)), "\\Device\\CdRom5"},
+ {"/dev/scd6", BRACK(FHDEV(DEV_CDROM_MAJOR, 6)), "\\Device\\CdRom6"},
+ {"/dev/scd7", BRACK(FHDEV(DEV_CDROM_MAJOR, 7)), "\\Device\\CdRom7"},
+ {"/dev/scd8", BRACK(FHDEV(DEV_CDROM_MAJOR, 8)), "\\Device\\CdRom8"},
+ {"/dev/scd9", BRACK(FHDEV(DEV_CDROM_MAJOR, 9)), "\\Device\\CdRom9"},
+ {"/dev/scd10", BRACK(FHDEV(DEV_CDROM_MAJOR, 10)), "\\Device\\CdRom10"},
+ {"/dev/scd11", BRACK(FHDEV(DEV_CDROM_MAJOR, 11)), "\\Device\\CdRom11"},
+ {"/dev/scd12", BRACK(FHDEV(DEV_CDROM_MAJOR, 12)), "\\Device\\CdRom12"},
+ {"/dev/scd13", BRACK(FHDEV(DEV_CDROM_MAJOR, 13)), "\\Device\\CdRom13"},
+ {"/dev/scd14", BRACK(FHDEV(DEV_CDROM_MAJOR, 14)), "\\Device\\CdRom14"},
+ {"/dev/scd15", BRACK(FHDEV(DEV_CDROM_MAJOR, 15)), "\\Device\\CdRom15"},
+ {"/dev/sda", BRACK(FH_SDA), "\\Device\\Harddisk0\\Partition0"},
+ {"/dev/sdb", BRACK(FH_SDB), "\\Device\\Harddisk1\\Partition0"},
+ {"/dev/sdc", BRACK(FH_SDC), "\\Device\\Harddisk2\\Partition0"},
+ {"/dev/sdd", BRACK(FH_SDD), "\\Device\\Harddisk3\\Partition0"},
+ {"/dev/sde", BRACK(FH_SDE), "\\Device\\Harddisk4\\Partition0"},
+ {"/dev/sdf", BRACK(FH_SDF), "\\Device\\Harddisk5\\Partition0"},
+ {"/dev/sdg", BRACK(FH_SDG), "\\Device\\Harddisk6\\Partition0"},
+ {"/dev/sdh", BRACK(FH_SDH), "\\Device\\Harddisk7\\Partition0"},
+ {"/dev/sdi", BRACK(FH_SDI), "\\Device\\Harddisk8\\Partition0"},
+ {"/dev/sdj", BRACK(FH_SDJ), "\\Device\\Harddisk9\\Partition0"},
+ {"/dev/sdk", BRACK(FH_SDK), "\\Device\\Harddisk10\\Partition0"},
+ {"/dev/sdl", BRACK(FH_SDL), "\\Device\\Harddisk11\\Partition0"},
+ {"/dev/sdm", BRACK(FH_SDM), "\\Device\\Harddisk12\\Partition0"},
+ {"/dev/sdn", BRACK(FH_SDN), "\\Device\\Harddisk13\\Partition0"},
+ {"/dev/sdo", BRACK(FH_SDO), "\\Device\\Harddisk14\\Partition0"},
+ {"/dev/sdp", BRACK(FH_SDP), "\\Device\\Harddisk15\\Partition0"},
+ {"/dev/sdq", BRACK(FH_SDQ), "\\Device\\Harddisk16\\Partition0"},
+ {"/dev/sdr", BRACK(FH_SDR), "\\Device\\Harddisk17\\Partition0"},
+ {"/dev/sds", BRACK(FH_SDS), "\\Device\\Harddisk18\\Partition0"},
+ {"/dev/sdt", BRACK(FH_SDT), "\\Device\\Harddisk19\\Partition0"},
+ {"/dev/sdu", BRACK(FH_SDU), "\\Device\\Harddisk20\\Partition0"},
+ {"/dev/sdv", BRACK(FH_SDV), "\\Device\\Harddisk21\\Partition0"},
+ {"/dev/sdw", BRACK(FH_SDW), "\\Device\\Harddisk22\\Partition0"},
+ {"/dev/sdx", BRACK(FH_SDX), "\\Device\\Harddisk23\\Partition0"},
+ {"/dev/sdy", BRACK(FH_SDY), "\\Device\\Harddisk24\\Partition0"},
+ {"/dev/sdz", BRACK(FH_SDZ), "\\Device\\Harddisk25\\Partition0"},
+ {"/dev/sda1", BRACK(FH_SDA | 1), "\\Device\\Harddisk0\\Partition1"},
+ {"/dev/sda2", BRACK(FH_SDA | 2), "\\Device\\Harddisk0\\Partition2"},
+ {"/dev/sda3", BRACK(FH_SDA | 3), "\\Device\\Harddisk0\\Partition3"},
+ {"/dev/sda4", BRACK(FH_SDA | 4), "\\Device\\Harddisk0\\Partition4"},
+ {"/dev/sda5", BRACK(FH_SDA | 5), "\\Device\\Harddisk0\\Partition5"},
+ {"/dev/sda6", BRACK(FH_SDA | 6), "\\Device\\Harddisk0\\Partition6"},
+ {"/dev/sda7", BRACK(FH_SDA | 7), "\\Device\\Harddisk0\\Partition7"},
+ {"/dev/sda8", BRACK(FH_SDA | 8), "\\Device\\Harddisk0\\Partition8"},
+ {"/dev/sda9", BRACK(FH_SDA | 9), "\\Device\\Harddisk0\\Partition9"},
+ {"/dev/sda10", BRACK(FH_SDA | 10), "\\Device\\Harddisk0\\Partition10"},
+ {"/dev/sda11", BRACK(FH_SDA | 11), "\\Device\\Harddisk0\\Partition11"},
+ {"/dev/sda12", BRACK(FH_SDA | 12), "\\Device\\Harddisk0\\Partition12"},
+ {"/dev/sda13", BRACK(FH_SDA | 13), "\\Device\\Harddisk0\\Partition13"},
+ {"/dev/sda14", BRACK(FH_SDA | 14), "\\Device\\Harddisk0\\Partition14"},
+ {"/dev/sda15", BRACK(FH_SDA | 15), "\\Device\\Harddisk0\\Partition15"},
+ {"/dev/sdb1", BRACK(FH_SDB | 1), "\\Device\\Harddisk1\\Partition1"},
+ {"/dev/sdb2", BRACK(FH_SDB | 2), "\\Device\\Harddisk1\\Partition2"},
+ {"/dev/sdb3", BRACK(FH_SDB | 3), "\\Device\\Harddisk1\\Partition3"},
+ {"/dev/sdb4", BRACK(FH_SDB | 4), "\\Device\\Harddisk1\\Partition4"},
+ {"/dev/sdb5", BRACK(FH_SDB | 5), "\\Device\\Harddisk1\\Partition5"},
+ {"/dev/sdb6", BRACK(FH_SDB | 6), "\\Device\\Harddisk1\\Partition6"},
+ {"/dev/sdb7", BRACK(FH_SDB | 7), "\\Device\\Harddisk1\\Partition7"},
+ {"/dev/sdb8", BRACK(FH_SDB | 8), "\\Device\\Harddisk1\\Partition8"},
+ {"/dev/sdb9", BRACK(FH_SDB | 9), "\\Device\\Harddisk1\\Partition9"},
+ {"/dev/sdb10", BRACK(FH_SDB | 10), "\\Device\\Harddisk1\\Partition10"},
+ {"/dev/sdb11", BRACK(FH_SDB | 11), "\\Device\\Harddisk1\\Partition11"},
+ {"/dev/sdb12", BRACK(FH_SDB | 12), "\\Device\\Harddisk1\\Partition12"},
+ {"/dev/sdb13", BRACK(FH_SDB | 13), "\\Device\\Harddisk1\\Partition13"},
+ {"/dev/sdb14", BRACK(FH_SDB | 14), "\\Device\\Harddisk1\\Partition14"},
+ {"/dev/sdb15", BRACK(FH_SDB | 15), "\\Device\\Harddisk1\\Partition15"},
+ {"/dev/sdc1", BRACK(FH_SDC | 1), "\\Device\\Harddisk2\\Partition1"},
+ {"/dev/sdc2", BRACK(FH_SDC | 2), "\\Device\\Harddisk2\\Partition2"},
+ {"/dev/sdc3", BRACK(FH_SDC | 3), "\\Device\\Harddisk2\\Partition3"},
+ {"/dev/sdc4", BRACK(FH_SDC | 4), "\\Device\\Harddisk2\\Partition4"},
+ {"/dev/sdc5", BRACK(FH_SDC | 5), "\\Device\\Harddisk2\\Partition5"},
+ {"/dev/sdc6", BRACK(FH_SDC | 6), "\\Device\\Harddisk2\\Partition6"},
+ {"/dev/sdc7", BRACK(FH_SDC | 7), "\\Device\\Harddisk2\\Partition7"},
+ {"/dev/sdc8", BRACK(FH_SDC | 8), "\\Device\\Harddisk2\\Partition8"},
+ {"/dev/sdc9", BRACK(FH_SDC | 9), "\\Device\\Harddisk2\\Partition9"},
+ {"/dev/sdc10", BRACK(FH_SDC | 10), "\\Device\\Harddisk2\\Partition10"},
+ {"/dev/sdc11", BRACK(FH_SDC | 11), "\\Device\\Harddisk2\\Partition11"},
+ {"/dev/sdc12", BRACK(FH_SDC | 12), "\\Device\\Harddisk2\\Partition12"},
+ {"/dev/sdc13", BRACK(FH_SDC | 13), "\\Device\\Harddisk2\\Partition13"},
+ {"/dev/sdc14", BRACK(FH_SDC | 14), "\\Device\\Harddisk2\\Partition14"},
+ {"/dev/sdc15", BRACK(FH_SDC | 15), "\\Device\\Harddisk2\\Partition15"},
+ {"/dev/sdd1", BRACK(FH_SDD | 1), "\\Device\\Harddisk3\\Partition1"},
+ {"/dev/sdd2", BRACK(FH_SDD | 2), "\\Device\\Harddisk3\\Partition2"},
+ {"/dev/sdd3", BRACK(FH_SDD | 3), "\\Device\\Harddisk3\\Partition3"},
+ {"/dev/sdd4", BRACK(FH_SDD | 4), "\\Device\\Harddisk3\\Partition4"},
+ {"/dev/sdd5", BRACK(FH_SDD | 5), "\\Device\\Harddisk3\\Partition5"},
+ {"/dev/sdd6", BRACK(FH_SDD | 6), "\\Device\\Harddisk3\\Partition6"},
+ {"/dev/sdd7", BRACK(FH_SDD | 7), "\\Device\\Harddisk3\\Partition7"},
+ {"/dev/sdd8", BRACK(FH_SDD | 8), "\\Device\\Harddisk3\\Partition8"},
+ {"/dev/sdd9", BRACK(FH_SDD | 9), "\\Device\\Harddisk3\\Partition9"},
+ {"/dev/sdd10", BRACK(FH_SDD | 10), "\\Device\\Harddisk3\\Partition10"},
+ {"/dev/sdd11", BRACK(FH_SDD | 11), "\\Device\\Harddisk3\\Partition11"},
+ {"/dev/sdd12", BRACK(FH_SDD | 12), "\\Device\\Harddisk3\\Partition12"},
+ {"/dev/sdd13", BRACK(FH_SDD | 13), "\\Device\\Harddisk3\\Partition13"},
+ {"/dev/sdd14", BRACK(FH_SDD | 14), "\\Device\\Harddisk3\\Partition14"},
+ {"/dev/sdd15", BRACK(FH_SDD | 15), "\\Device\\Harddisk3\\Partition15"},
+ {"/dev/sde1", BRACK(FH_SDE | 1), "\\Device\\Harddisk4\\Partition1"},
+ {"/dev/sde2", BRACK(FH_SDE | 2), "\\Device\\Harddisk4\\Partition2"},
+ {"/dev/sde3", BRACK(FH_SDE | 3), "\\Device\\Harddisk4\\Partition3"},
+ {"/dev/sde4", BRACK(FH_SDE | 4), "\\Device\\Harddisk4\\Partition4"},
+ {"/dev/sde5", BRACK(FH_SDE | 5), "\\Device\\Harddisk4\\Partition5"},
+ {"/dev/sde6", BRACK(FH_SDE | 6), "\\Device\\Harddisk4\\Partition6"},
+ {"/dev/sde7", BRACK(FH_SDE | 7), "\\Device\\Harddisk4\\Partition7"},
+ {"/dev/sde8", BRACK(FH_SDE | 8), "\\Device\\Harddisk4\\Partition8"},
+ {"/dev/sde9", BRACK(FH_SDE | 9), "\\Device\\Harddisk4\\Partition9"},
+ {"/dev/sde10", BRACK(FH_SDE | 10), "\\Device\\Harddisk4\\Partition10"},
+ {"/dev/sde11", BRACK(FH_SDE | 11), "\\Device\\Harddisk4\\Partition11"},
+ {"/dev/sde12", BRACK(FH_SDE | 12), "\\Device\\Harddisk4\\Partition12"},
+ {"/dev/sde13", BRACK(FH_SDE | 13), "\\Device\\Harddisk4\\Partition13"},
+ {"/dev/sde14", BRACK(FH_SDE | 14), "\\Device\\Harddisk4\\Partition14"},
+ {"/dev/sde15", BRACK(FH_SDE | 15), "\\Device\\Harddisk4\\Partition15"},
+ {"/dev/sdf1", BRACK(FH_SDF | 1), "\\Device\\Harddisk5\\Partition1"},
+ {"/dev/sdf2", BRACK(FH_SDF | 2), "\\Device\\Harddisk5\\Partition2"},
+ {"/dev/sdf3", BRACK(FH_SDF | 3), "\\Device\\Harddisk5\\Partition3"},
+ {"/dev/sdf4", BRACK(FH_SDF | 4), "\\Device\\Harddisk5\\Partition4"},
+ {"/dev/sdf5", BRACK(FH_SDF | 5), "\\Device\\Harddisk5\\Partition5"},
+ {"/dev/sdf6", BRACK(FH_SDF | 6), "\\Device\\Harddisk5\\Partition6"},
+ {"/dev/sdf7", BRACK(FH_SDF | 7), "\\Device\\Harddisk5\\Partition7"},
+ {"/dev/sdf8", BRACK(FH_SDF | 8), "\\Device\\Harddisk5\\Partition8"},
+ {"/dev/sdf9", BRACK(FH_SDF | 9), "\\Device\\Harddisk5\\Partition9"},
+ {"/dev/sdf10", BRACK(FH_SDF | 10), "\\Device\\Harddisk5\\Partition10"},
+ {"/dev/sdf11", BRACK(FH_SDF | 11), "\\Device\\Harddisk5\\Partition11"},
+ {"/dev/sdf12", BRACK(FH_SDF | 12), "\\Device\\Harddisk5\\Partition12"},
+ {"/dev/sdf13", BRACK(FH_SDF | 13), "\\Device\\Harddisk5\\Partition13"},
+ {"/dev/sdf14", BRACK(FH_SDF | 14), "\\Device\\Harddisk5\\Partition14"},
+ {"/dev/sdf15", BRACK(FH_SDF | 15), "\\Device\\Harddisk5\\Partition15"},
+ {"/dev/sdg1", BRACK(FH_SDG | 1), "\\Device\\Harddisk6\\Partition1"},
+ {"/dev/sdg2", BRACK(FH_SDG | 2), "\\Device\\Harddisk6\\Partition2"},
+ {"/dev/sdg3", BRACK(FH_SDG | 3), "\\Device\\Harddisk6\\Partition3"},
+ {"/dev/sdg4", BRACK(FH_SDG | 4), "\\Device\\Harddisk6\\Partition4"},
+ {"/dev/sdg5", BRACK(FH_SDG | 5), "\\Device\\Harddisk6\\Partition5"},
+ {"/dev/sdg6", BRACK(FH_SDG | 6), "\\Device\\Harddisk6\\Partition6"},
+ {"/dev/sdg7", BRACK(FH_SDG | 7), "\\Device\\Harddisk6\\Partition7"},
+ {"/dev/sdg8", BRACK(FH_SDG | 8), "\\Device\\Harddisk6\\Partition8"},
+ {"/dev/sdg9", BRACK(FH_SDG | 9), "\\Device\\Harddisk6\\Partition9"},
+ {"/dev/sdg10", BRACK(FH_SDG | 10), "\\Device\\Harddisk6\\Partition10"},
+ {"/dev/sdg11", BRACK(FH_SDG | 11), "\\Device\\Harddisk6\\Partition11"},
+ {"/dev/sdg12", BRACK(FH_SDG | 12), "\\Device\\Harddisk6\\Partition12"},
+ {"/dev/sdg13", BRACK(FH_SDG | 13), "\\Device\\Harddisk6\\Partition13"},
+ {"/dev/sdg14", BRACK(FH_SDG | 14), "\\Device\\Harddisk6\\Partition14"},
+ {"/dev/sdg15", BRACK(FH_SDG | 15), "\\Device\\Harddisk6\\Partition15"},
+ {"/dev/sdh1", BRACK(FH_SDH | 1), "\\Device\\Harddisk7\\Partition1"},
+ {"/dev/sdh2", BRACK(FH_SDH | 2), "\\Device\\Harddisk7\\Partition2"},
+ {"/dev/sdh3", BRACK(FH_SDH | 3), "\\Device\\Harddisk7\\Partition3"},
+ {"/dev/sdh4", BRACK(FH_SDH | 4), "\\Device\\Harddisk7\\Partition4"},
+ {"/dev/sdh5", BRACK(FH_SDH | 5), "\\Device\\Harddisk7\\Partition5"},
+ {"/dev/sdh6", BRACK(FH_SDH | 6), "\\Device\\Harddisk7\\Partition6"},
+ {"/dev/sdh7", BRACK(FH_SDH | 7), "\\Device\\Harddisk7\\Partition7"},
+ {"/dev/sdh8", BRACK(FH_SDH | 8), "\\Device\\Harddisk7\\Partition8"},
+ {"/dev/sdh9", BRACK(FH_SDH | 9), "\\Device\\Harddisk7\\Partition9"},
+ {"/dev/sdh10", BRACK(FH_SDH | 10), "\\Device\\Harddisk7\\Partition10"},
+ {"/dev/sdh11", BRACK(FH_SDH | 11), "\\Device\\Harddisk7\\Partition11"},
+ {"/dev/sdh12", BRACK(FH_SDH | 12), "\\Device\\Harddisk7\\Partition12"},
+ {"/dev/sdh13", BRACK(FH_SDH | 13), "\\Device\\Harddisk7\\Partition13"},
+ {"/dev/sdh14", BRACK(FH_SDH | 14), "\\Device\\Harddisk7\\Partition14"},
+ {"/dev/sdh15", BRACK(FH_SDH | 15), "\\Device\\Harddisk7\\Partition15"},
+ {"/dev/sdi1", BRACK(FH_SDI | 1), "\\Device\\Harddisk8\\Partition1"},
+ {"/dev/sdi2", BRACK(FH_SDI | 2), "\\Device\\Harddisk8\\Partition2"},
+ {"/dev/sdi3", BRACK(FH_SDI | 3), "\\Device\\Harddisk8\\Partition3"},
+ {"/dev/sdi4", BRACK(FH_SDI | 4), "\\Device\\Harddisk8\\Partition4"},
+ {"/dev/sdi5", BRACK(FH_SDI | 5), "\\Device\\Harddisk8\\Partition5"},
+ {"/dev/sdi6", BRACK(FH_SDI | 6), "\\Device\\Harddisk8\\Partition6"},
+ {"/dev/sdi7", BRACK(FH_SDI | 7), "\\Device\\Harddisk8\\Partition7"},
+ {"/dev/sdi8", BRACK(FH_SDI | 8), "\\Device\\Harddisk8\\Partition8"},
+ {"/dev/sdi9", BRACK(FH_SDI | 9), "\\Device\\Harddisk8\\Partition9"},
+ {"/dev/sdi10", BRACK(FH_SDI | 10), "\\Device\\Harddisk8\\Partition10"},
+ {"/dev/sdi11", BRACK(FH_SDI | 11), "\\Device\\Harddisk8\\Partition11"},
+ {"/dev/sdi12", BRACK(FH_SDI | 12), "\\Device\\Harddisk8\\Partition12"},
+ {"/dev/sdi13", BRACK(FH_SDI | 13), "\\Device\\Harddisk8\\Partition13"},
+ {"/dev/sdi14", BRACK(FH_SDI | 14), "\\Device\\Harddisk8\\Partition14"},
+ {"/dev/sdi15", BRACK(FH_SDI | 15), "\\Device\\Harddisk8\\Partition15"},
+ {"/dev/sdj1", BRACK(FH_SDJ | 1), "\\Device\\Harddisk9\\Partition1"},
+ {"/dev/sdj2", BRACK(FH_SDJ | 2), "\\Device\\Harddisk9\\Partition2"},
+ {"/dev/sdj3", BRACK(FH_SDJ | 3), "\\Device\\Harddisk9\\Partition3"},
+ {"/dev/sdj4", BRACK(FH_SDJ | 4), "\\Device\\Harddisk9\\Partition4"},
+ {"/dev/sdj5", BRACK(FH_SDJ | 5), "\\Device\\Harddisk9\\Partition5"},
+ {"/dev/sdj6", BRACK(FH_SDJ | 6), "\\Device\\Harddisk9\\Partition6"},
+ {"/dev/sdj7", BRACK(FH_SDJ | 7), "\\Device\\Harddisk9\\Partition7"},
+ {"/dev/sdj8", BRACK(FH_SDJ | 8), "\\Device\\Harddisk9\\Partition8"},
+ {"/dev/sdj9", BRACK(FH_SDJ | 9), "\\Device\\Harddisk9\\Partition9"},
+ {"/dev/sdj10", BRACK(FH_SDJ | 10), "\\Device\\Harddisk9\\Partition10"},
+ {"/dev/sdj11", BRACK(FH_SDJ | 11), "\\Device\\Harddisk9\\Partition11"},
+ {"/dev/sdj12", BRACK(FH_SDJ | 12), "\\Device\\Harddisk9\\Partition12"},
+ {"/dev/sdj13", BRACK(FH_SDJ | 13), "\\Device\\Harddisk9\\Partition13"},
+ {"/dev/sdj14", BRACK(FH_SDJ | 14), "\\Device\\Harddisk9\\Partition14"},
+ {"/dev/sdj15", BRACK(FH_SDJ | 15), "\\Device\\Harddisk9\\Partition15"},
+ {"/dev/sdk1", BRACK(FH_SDK | 1), "\\Device\\Harddisk10\\Partition1"},
+ {"/dev/sdk2", BRACK(FH_SDK | 2), "\\Device\\Harddisk10\\Partition2"},
+ {"/dev/sdk3", BRACK(FH_SDK | 3), "\\Device\\Harddisk10\\Partition3"},
+ {"/dev/sdk4", BRACK(FH_SDK | 4), "\\Device\\Harddisk10\\Partition4"},
+ {"/dev/sdk5", BRACK(FH_SDK | 5), "\\Device\\Harddisk10\\Partition5"},
+ {"/dev/sdk6", BRACK(FH_SDK | 6), "\\Device\\Harddisk10\\Partition6"},
+ {"/dev/sdk7", BRACK(FH_SDK | 7), "\\Device\\Harddisk10\\Partition7"},
+ {"/dev/sdk8", BRACK(FH_SDK | 8), "\\Device\\Harddisk10\\Partition8"},
+ {"/dev/sdk9", BRACK(FH_SDK | 9), "\\Device\\Harddisk10\\Partition9"},
+ {"/dev/sdk10", BRACK(FH_SDK | 10), "\\Device\\Harddisk10\\Partition10"},
+ {"/dev/sdk11", BRACK(FH_SDK | 11), "\\Device\\Harddisk10\\Partition11"},
+ {"/dev/sdk12", BRACK(FH_SDK | 12), "\\Device\\Harddisk10\\Partition12"},
+ {"/dev/sdk13", BRACK(FH_SDK | 13), "\\Device\\Harddisk10\\Partition13"},
+ {"/dev/sdk14", BRACK(FH_SDK | 14), "\\Device\\Harddisk10\\Partition14"},
+ {"/dev/sdk15", BRACK(FH_SDK | 15), "\\Device\\Harddisk10\\Partition15"},
+ {"/dev/sdl1", BRACK(FH_SDL | 1), "\\Device\\Harddisk11\\Partition1"},
+ {"/dev/sdl2", BRACK(FH_SDL | 2), "\\Device\\Harddisk11\\Partition2"},
+ {"/dev/sdl3", BRACK(FH_SDL | 3), "\\Device\\Harddisk11\\Partition3"},
+ {"/dev/sdl4", BRACK(FH_SDL | 4), "\\Device\\Harddisk11\\Partition4"},
+ {"/dev/sdl5", BRACK(FH_SDL | 5), "\\Device\\Harddisk11\\Partition5"},
+ {"/dev/sdl6", BRACK(FH_SDL | 6), "\\Device\\Harddisk11\\Partition6"},
+ {"/dev/sdl7", BRACK(FH_SDL | 7), "\\Device\\Harddisk11\\Partition7"},
+ {"/dev/sdl8", BRACK(FH_SDL | 8), "\\Device\\Harddisk11\\Partition8"},
+ {"/dev/sdl9", BRACK(FH_SDL | 9), "\\Device\\Harddisk11\\Partition9"},
+ {"/dev/sdl10", BRACK(FH_SDL | 10), "\\Device\\Harddisk11\\Partition10"},
+ {"/dev/sdl11", BRACK(FH_SDL | 11), "\\Device\\Harddisk11\\Partition11"},
+ {"/dev/sdl12", BRACK(FH_SDL | 12), "\\Device\\Harddisk11\\Partition12"},
+ {"/dev/sdl13", BRACK(FH_SDL | 13), "\\Device\\Harddisk11\\Partition13"},
+ {"/dev/sdl14", BRACK(FH_SDL | 14), "\\Device\\Harddisk11\\Partition14"},
+ {"/dev/sdl15", BRACK(FH_SDL | 15), "\\Device\\Harddisk11\\Partition15"},
+ {"/dev/sdm1", BRACK(FH_SDM | 1), "\\Device\\Harddisk12\\Partition1"},
+ {"/dev/sdm2", BRACK(FH_SDM | 2), "\\Device\\Harddisk12\\Partition2"},
+ {"/dev/sdm3", BRACK(FH_SDM | 3), "\\Device\\Harddisk12\\Partition3"},
+ {"/dev/sdm4", BRACK(FH_SDM | 4), "\\Device\\Harddisk12\\Partition4"},
+ {"/dev/sdm5", BRACK(FH_SDM | 5), "\\Device\\Harddisk12\\Partition5"},
+ {"/dev/sdm6", BRACK(FH_SDM | 6), "\\Device\\Harddisk12\\Partition6"},
+ {"/dev/sdm7", BRACK(FH_SDM | 7), "\\Device\\Harddisk12\\Partition7"},
+ {"/dev/sdm8", BRACK(FH_SDM | 8), "\\Device\\Harddisk12\\Partition8"},
+ {"/dev/sdm9", BRACK(FH_SDM | 9), "\\Device\\Harddisk12\\Partition9"},
+ {"/dev/sdm10", BRACK(FH_SDM | 10), "\\Device\\Harddisk12\\Partition10"},
+ {"/dev/sdm11", BRACK(FH_SDM | 11), "\\Device\\Harddisk12\\Partition11"},
+ {"/dev/sdm12", BRACK(FH_SDM | 12), "\\Device\\Harddisk12\\Partition12"},
+ {"/dev/sdm13", BRACK(FH_SDM | 13), "\\Device\\Harddisk12\\Partition13"},
+ {"/dev/sdm14", BRACK(FH_SDM | 14), "\\Device\\Harddisk12\\Partition14"},
+ {"/dev/sdm15", BRACK(FH_SDM | 15), "\\Device\\Harddisk12\\Partition15"},
+ {"/dev/sdn1", BRACK(FH_SDN | 1), "\\Device\\Harddisk13\\Partition1"},
+ {"/dev/sdn2", BRACK(FH_SDN | 2), "\\Device\\Harddisk13\\Partition2"},
+ {"/dev/sdn3", BRACK(FH_SDN | 3), "\\Device\\Harddisk13\\Partition3"},
+ {"/dev/sdn4", BRACK(FH_SDN | 4), "\\Device\\Harddisk13\\Partition4"},
+ {"/dev/sdn5", BRACK(FH_SDN | 5), "\\Device\\Harddisk13\\Partition5"},
+ {"/dev/sdn6", BRACK(FH_SDN | 6), "\\Device\\Harddisk13\\Partition6"},
+ {"/dev/sdn7", BRACK(FH_SDN | 7), "\\Device\\Harddisk13\\Partition7"},
+ {"/dev/sdn8", BRACK(FH_SDN | 8), "\\Device\\Harddisk13\\Partition8"},
+ {"/dev/sdn9", BRACK(FH_SDN | 9), "\\Device\\Harddisk13\\Partition9"},
+ {"/dev/sdn10", BRACK(FH_SDN | 10), "\\Device\\Harddisk13\\Partition10"},
+ {"/dev/sdn11", BRACK(FH_SDN | 11), "\\Device\\Harddisk13\\Partition11"},
+ {"/dev/sdn12", BRACK(FH_SDN | 12), "\\Device\\Harddisk13\\Partition12"},
+ {"/dev/sdn13", BRACK(FH_SDN | 13), "\\Device\\Harddisk13\\Partition13"},
+ {"/dev/sdn14", BRACK(FH_SDN | 14), "\\Device\\Harddisk13\\Partition14"},
+ {"/dev/sdn15", BRACK(FH_SDN | 15), "\\Device\\Harddisk13\\Partition15"},
+ {"/dev/sdo1", BRACK(FH_SDO | 1), "\\Device\\Harddisk14\\Partition1"},
+ {"/dev/sdo2", BRACK(FH_SDO | 2), "\\Device\\Harddisk14\\Partition2"},
+ {"/dev/sdo3", BRACK(FH_SDO | 3), "\\Device\\Harddisk14\\Partition3"},
+ {"/dev/sdo4", BRACK(FH_SDO | 4), "\\Device\\Harddisk14\\Partition4"},
+ {"/dev/sdo5", BRACK(FH_SDO | 5), "\\Device\\Harddisk14\\Partition5"},
+ {"/dev/sdo6", BRACK(FH_SDO | 6), "\\Device\\Harddisk14\\Partition6"},
+ {"/dev/sdo7", BRACK(FH_SDO | 7), "\\Device\\Harddisk14\\Partition7"},
+ {"/dev/sdo8", BRACK(FH_SDO | 8), "\\Device\\Harddisk14\\Partition8"},
+ {"/dev/sdo9", BRACK(FH_SDO | 9), "\\Device\\Harddisk14\\Partition9"},
+ {"/dev/sdo10", BRACK(FH_SDO | 10), "\\Device\\Harddisk14\\Partition10"},
+ {"/dev/sdo11", BRACK(FH_SDO | 11), "\\Device\\Harddisk14\\Partition11"},
+ {"/dev/sdo12", BRACK(FH_SDO | 12), "\\Device\\Harddisk14\\Partition12"},
+ {"/dev/sdo13", BRACK(FH_SDO | 13), "\\Device\\Harddisk14\\Partition13"},
+ {"/dev/sdo14", BRACK(FH_SDO | 14), "\\Device\\Harddisk14\\Partition14"},
+ {"/dev/sdo15", BRACK(FH_SDO | 15), "\\Device\\Harddisk14\\Partition15"},
+ {"/dev/sdp1", BRACK(FH_SDP | 1), "\\Device\\Harddisk15\\Partition1"},
+ {"/dev/sdp2", BRACK(FH_SDP | 2), "\\Device\\Harddisk15\\Partition2"},
+ {"/dev/sdp3", BRACK(FH_SDP | 3), "\\Device\\Harddisk15\\Partition3"},
+ {"/dev/sdp4", BRACK(FH_SDP | 4), "\\Device\\Harddisk15\\Partition4"},
+ {"/dev/sdp5", BRACK(FH_SDP | 5), "\\Device\\Harddisk15\\Partition5"},
+ {"/dev/sdp6", BRACK(FH_SDP | 6), "\\Device\\Harddisk15\\Partition6"},
+ {"/dev/sdp7", BRACK(FH_SDP | 7), "\\Device\\Harddisk15\\Partition7"},
+ {"/dev/sdp8", BRACK(FH_SDP | 8), "\\Device\\Harddisk15\\Partition8"},
+ {"/dev/sdp9", BRACK(FH_SDP | 9), "\\Device\\Harddisk15\\Partition9"},
+ {"/dev/sdp10", BRACK(FH_SDP | 10), "\\Device\\Harddisk15\\Partition10"},
+ {"/dev/sdp11", BRACK(FH_SDP | 11), "\\Device\\Harddisk15\\Partition11"},
+ {"/dev/sdp12", BRACK(FH_SDP | 12), "\\Device\\Harddisk15\\Partition12"},
+ {"/dev/sdp13", BRACK(FH_SDP | 13), "\\Device\\Harddisk15\\Partition13"},
+ {"/dev/sdp14", BRACK(FH_SDP | 14), "\\Device\\Harddisk15\\Partition14"},
+ {"/dev/sdp15", BRACK(FH_SDP | 15), "\\Device\\Harddisk15\\Partition15"},
+ {"/dev/sdq1", BRACK(FH_SDQ | 1), "\\Device\\Harddisk16\\Partition1"},
+ {"/dev/sdq2", BRACK(FH_SDQ | 2), "\\Device\\Harddisk16\\Partition2"},
+ {"/dev/sdq3", BRACK(FH_SDQ | 3), "\\Device\\Harddisk16\\Partition3"},
+ {"/dev/sdq4", BRACK(FH_SDQ | 4), "\\Device\\Harddisk16\\Partition4"},
+ {"/dev/sdq5", BRACK(FH_SDQ | 5), "\\Device\\Harddisk16\\Partition5"},
+ {"/dev/sdq6", BRACK(FH_SDQ | 6), "\\Device\\Harddisk16\\Partition6"},
+ {"/dev/sdq7", BRACK(FH_SDQ | 7), "\\Device\\Harddisk16\\Partition7"},
+ {"/dev/sdq8", BRACK(FH_SDQ | 8), "\\Device\\Harddisk16\\Partition8"},
+ {"/dev/sdq9", BRACK(FH_SDQ | 9), "\\Device\\Harddisk16\\Partition9"},
+ {"/dev/sdq10", BRACK(FH_SDQ | 10), "\\Device\\Harddisk16\\Partition10"},
+ {"/dev/sdq11", BRACK(FH_SDQ | 11), "\\Device\\Harddisk16\\Partition11"},
+ {"/dev/sdq12", BRACK(FH_SDQ | 12), "\\Device\\Harddisk16\\Partition12"},
+ {"/dev/sdq13", BRACK(FH_SDQ | 13), "\\Device\\Harddisk16\\Partition13"},
+ {"/dev/sdq14", BRACK(FH_SDQ | 14), "\\Device\\Harddisk16\\Partition14"},
+ {"/dev/sdq15", BRACK(FH_SDQ | 15), "\\Device\\Harddisk16\\Partition15"},
+ {"/dev/sdr1", BRACK(FH_SDR | 1), "\\Device\\Harddisk17\\Partition1"},
+ {"/dev/sdr2", BRACK(FH_SDR | 2), "\\Device\\Harddisk17\\Partition2"},
+ {"/dev/sdr3", BRACK(FH_SDR | 3), "\\Device\\Harddisk17\\Partition3"},
+ {"/dev/sdr4", BRACK(FH_SDR | 4), "\\Device\\Harddisk17\\Partition4"},
+ {"/dev/sdr5", BRACK(FH_SDR | 5), "\\Device\\Harddisk17\\Partition5"},
+ {"/dev/sdr6", BRACK(FH_SDR | 6), "\\Device\\Harddisk17\\Partition6"},
+ {"/dev/sdr7", BRACK(FH_SDR | 7), "\\Device\\Harddisk17\\Partition7"},
+ {"/dev/sdr8", BRACK(FH_SDR | 8), "\\Device\\Harddisk17\\Partition8"},
+ {"/dev/sdr9", BRACK(FH_SDR | 9), "\\Device\\Harddisk17\\Partition9"},
+ {"/dev/sdr10", BRACK(FH_SDR | 10), "\\Device\\Harddisk17\\Partition10"},
+ {"/dev/sdr11", BRACK(FH_SDR | 11), "\\Device\\Harddisk17\\Partition11"},
+ {"/dev/sdr12", BRACK(FH_SDR | 12), "\\Device\\Harddisk17\\Partition12"},
+ {"/dev/sdr13", BRACK(FH_SDR | 13), "\\Device\\Harddisk17\\Partition13"},
+ {"/dev/sdr14", BRACK(FH_SDR | 14), "\\Device\\Harddisk17\\Partition14"},
+ {"/dev/sdr15", BRACK(FH_SDR | 15), "\\Device\\Harddisk17\\Partition15"},
+ {"/dev/sds1", BRACK(FH_SDS | 1), "\\Device\\Harddisk18\\Partition1"},
+ {"/dev/sds2", BRACK(FH_SDS | 2), "\\Device\\Harddisk18\\Partition2"},
+ {"/dev/sds3", BRACK(FH_SDS | 3), "\\Device\\Harddisk18\\Partition3"},
+ {"/dev/sds4", BRACK(FH_SDS | 4), "\\Device\\Harddisk18\\Partition4"},
+ {"/dev/sds5", BRACK(FH_SDS | 5), "\\Device\\Harddisk18\\Partition5"},
+ {"/dev/sds6", BRACK(FH_SDS | 6), "\\Device\\Harddisk18\\Partition6"},
+ {"/dev/sds7", BRACK(FH_SDS | 7), "\\Device\\Harddisk18\\Partition7"},
+ {"/dev/sds8", BRACK(FH_SDS | 8), "\\Device\\Harddisk18\\Partition8"},
+ {"/dev/sds9", BRACK(FH_SDS | 9), "\\Device\\Harddisk18\\Partition9"},
+ {"/dev/sds10", BRACK(FH_SDS | 10), "\\Device\\Harddisk18\\Partition10"},
+ {"/dev/sds11", BRACK(FH_SDS | 11), "\\Device\\Harddisk18\\Partition11"},
+ {"/dev/sds12", BRACK(FH_SDS | 12), "\\Device\\Harddisk18\\Partition12"},
+ {"/dev/sds13", BRACK(FH_SDS | 13), "\\Device\\Harddisk18\\Partition13"},
+ {"/dev/sds14", BRACK(FH_SDS | 14), "\\Device\\Harddisk18\\Partition14"},
+ {"/dev/sds15", BRACK(FH_SDS | 15), "\\Device\\Harddisk18\\Partition15"},
+ {"/dev/sdt1", BRACK(FH_SDT | 1), "\\Device\\Harddisk19\\Partition1"},
+ {"/dev/sdt2", BRACK(FH_SDT | 2), "\\Device\\Harddisk19\\Partition2"},
+ {"/dev/sdt3", BRACK(FH_SDT | 3), "\\Device\\Harddisk19\\Partition3"},
+ {"/dev/sdt4", BRACK(FH_SDT | 4), "\\Device\\Harddisk19\\Partition4"},
+ {"/dev/sdt5", BRACK(FH_SDT | 5), "\\Device\\Harddisk19\\Partition5"},
+ {"/dev/sdt6", BRACK(FH_SDT | 6), "\\Device\\Harddisk19\\Partition6"},
+ {"/dev/sdt7", BRACK(FH_SDT | 7), "\\Device\\Harddisk19\\Partition7"},
+ {"/dev/sdt8", BRACK(FH_SDT | 8), "\\Device\\Harddisk19\\Partition8"},
+ {"/dev/sdt9", BRACK(FH_SDT | 9), "\\Device\\Harddisk19\\Partition9"},
+ {"/dev/sdt10", BRACK(FH_SDT | 10), "\\Device\\Harddisk19\\Partition10"},
+ {"/dev/sdt11", BRACK(FH_SDT | 11), "\\Device\\Harddisk19\\Partition11"},
+ {"/dev/sdt12", BRACK(FH_SDT | 12), "\\Device\\Harddisk19\\Partition12"},
+ {"/dev/sdt13", BRACK(FH_SDT | 13), "\\Device\\Harddisk19\\Partition13"},
+ {"/dev/sdt14", BRACK(FH_SDT | 14), "\\Device\\Harddisk19\\Partition14"},
+ {"/dev/sdt15", BRACK(FH_SDT | 15), "\\Device\\Harddisk19\\Partition15"},
+ {"/dev/sdu1", BRACK(FH_SDU | 1), "\\Device\\Harddisk20\\Partition1"},
+ {"/dev/sdu2", BRACK(FH_SDU | 2), "\\Device\\Harddisk20\\Partition2"},
+ {"/dev/sdu3", BRACK(FH_SDU | 3), "\\Device\\Harddisk20\\Partition3"},
+ {"/dev/sdu4", BRACK(FH_SDU | 4), "\\Device\\Harddisk20\\Partition4"},
+ {"/dev/sdu5", BRACK(FH_SDU | 5), "\\Device\\Harddisk20\\Partition5"},
+ {"/dev/sdu6", BRACK(FH_SDU | 6), "\\Device\\Harddisk20\\Partition6"},
+ {"/dev/sdu7", BRACK(FH_SDU | 7), "\\Device\\Harddisk20\\Partition7"},
+ {"/dev/sdu8", BRACK(FH_SDU | 8), "\\Device\\Harddisk20\\Partition8"},
+ {"/dev/sdu9", BRACK(FH_SDU | 9), "\\Device\\Harddisk20\\Partition9"},
+ {"/dev/sdu10", BRACK(FH_SDU | 10), "\\Device\\Harddisk20\\Partition10"},
+ {"/dev/sdu11", BRACK(FH_SDU | 11), "\\Device\\Harddisk20\\Partition11"},
+ {"/dev/sdu12", BRACK(FH_SDU | 12), "\\Device\\Harddisk20\\Partition12"},
+ {"/dev/sdu13", BRACK(FH_SDU | 13), "\\Device\\Harddisk20\\Partition13"},
+ {"/dev/sdu14", BRACK(FH_SDU | 14), "\\Device\\Harddisk20\\Partition14"},
+ {"/dev/sdu15", BRACK(FH_SDU | 15), "\\Device\\Harddisk20\\Partition15"},
+ {"/dev/sdv1", BRACK(FH_SDV | 1), "\\Device\\Harddisk21\\Partition1"},
+ {"/dev/sdv2", BRACK(FH_SDV | 2), "\\Device\\Harddisk21\\Partition2"},
+ {"/dev/sdv3", BRACK(FH_SDV | 3), "\\Device\\Harddisk21\\Partition3"},
+ {"/dev/sdv4", BRACK(FH_SDV | 4), "\\Device\\Harddisk21\\Partition4"},
+ {"/dev/sdv5", BRACK(FH_SDV | 5), "\\Device\\Harddisk21\\Partition5"},
+ {"/dev/sdv6", BRACK(FH_SDV | 6), "\\Device\\Harddisk21\\Partition6"},
+ {"/dev/sdv7", BRACK(FH_SDV | 7), "\\Device\\Harddisk21\\Partition7"},
+ {"/dev/sdv8", BRACK(FH_SDV | 8), "\\Device\\Harddisk21\\Partition8"},
+ {"/dev/sdv9", BRACK(FH_SDV | 9), "\\Device\\Harddisk21\\Partition9"},
+ {"/dev/sdv10", BRACK(FH_SDV | 10), "\\Device\\Harddisk21\\Partition10"},
+ {"/dev/sdv11", BRACK(FH_SDV | 11), "\\Device\\Harddisk21\\Partition11"},
+ {"/dev/sdv12", BRACK(FH_SDV | 12), "\\Device\\Harddisk21\\Partition12"},
+ {"/dev/sdv13", BRACK(FH_SDV | 13), "\\Device\\Harddisk21\\Partition13"},
+ {"/dev/sdv14", BRACK(FH_SDV | 14), "\\Device\\Harddisk21\\Partition14"},
+ {"/dev/sdv15", BRACK(FH_SDV | 15), "\\Device\\Harddisk21\\Partition15"},
+ {"/dev/sdw1", BRACK(FH_SDW | 1), "\\Device\\Harddisk22\\Partition1"},
+ {"/dev/sdw2", BRACK(FH_SDW | 2), "\\Device\\Harddisk22\\Partition2"},
+ {"/dev/sdw3", BRACK(FH_SDW | 3), "\\Device\\Harddisk22\\Partition3"},
+ {"/dev/sdw4", BRACK(FH_SDW | 4), "\\Device\\Harddisk22\\Partition4"},
+ {"/dev/sdw5", BRACK(FH_SDW | 5), "\\Device\\Harddisk22\\Partition5"},
+ {"/dev/sdw6", BRACK(FH_SDW | 6), "\\Device\\Harddisk22\\Partition6"},
+ {"/dev/sdw7", BRACK(FH_SDW | 7), "\\Device\\Harddisk22\\Partition7"},
+ {"/dev/sdw8", BRACK(FH_SDW | 8), "\\Device\\Harddisk22\\Partition8"},
+ {"/dev/sdw9", BRACK(FH_SDW | 9), "\\Device\\Harddisk22\\Partition9"},
+ {"/dev/sdw10", BRACK(FH_SDW | 10), "\\Device\\Harddisk22\\Partition10"},
+ {"/dev/sdw11", BRACK(FH_SDW | 11), "\\Device\\Harddisk22\\Partition11"},
+ {"/dev/sdw12", BRACK(FH_SDW | 12), "\\Device\\Harddisk22\\Partition12"},
+ {"/dev/sdw13", BRACK(FH_SDW | 13), "\\Device\\Harddisk22\\Partition13"},
+ {"/dev/sdw14", BRACK(FH_SDW | 14), "\\Device\\Harddisk22\\Partition14"},
+ {"/dev/sdw15", BRACK(FH_SDW | 15), "\\Device\\Harddisk22\\Partition15"},
+ {"/dev/sdx1", BRACK(FH_SDX | 1), "\\Device\\Harddisk23\\Partition1"},
+ {"/dev/sdx2", BRACK(FH_SDX | 2), "\\Device\\Harddisk23\\Partition2"},
+ {"/dev/sdx3", BRACK(FH_SDX | 3), "\\Device\\Harddisk23\\Partition3"},
+ {"/dev/sdx4", BRACK(FH_SDX | 4), "\\Device\\Harddisk23\\Partition4"},
+ {"/dev/sdx5", BRACK(FH_SDX | 5), "\\Device\\Harddisk23\\Partition5"},
+ {"/dev/sdx6", BRACK(FH_SDX | 6), "\\Device\\Harddisk23\\Partition6"},
+ {"/dev/sdx7", BRACK(FH_SDX | 7), "\\Device\\Harddisk23\\Partition7"},
+ {"/dev/sdx8", BRACK(FH_SDX | 8), "\\Device\\Harddisk23\\Partition8"},
+ {"/dev/sdx9", BRACK(FH_SDX | 9), "\\Device\\Harddisk23\\Partition9"},
+ {"/dev/sdx10", BRACK(FH_SDX | 10), "\\Device\\Harddisk23\\Partition10"},
+ {"/dev/sdx11", BRACK(FH_SDX | 11), "\\Device\\Harddisk23\\Partition11"},
+ {"/dev/sdx12", BRACK(FH_SDX | 12), "\\Device\\Harddisk23\\Partition12"},
+ {"/dev/sdx13", BRACK(FH_SDX | 13), "\\Device\\Harddisk23\\Partition13"},
+ {"/dev/sdx14", BRACK(FH_SDX | 14), "\\Device\\Harddisk23\\Partition14"},
+ {"/dev/sdx15", BRACK(FH_SDX | 15), "\\Device\\Harddisk23\\Partition15"},
+ {"/dev/sdy1", BRACK(FH_SDY | 1), "\\Device\\Harddisk24\\Partition1"},
+ {"/dev/sdy2", BRACK(FH_SDY | 2), "\\Device\\Harddisk24\\Partition2"},
+ {"/dev/sdy3", BRACK(FH_SDY | 3), "\\Device\\Harddisk24\\Partition3"},
+ {"/dev/sdy4", BRACK(FH_SDY | 4), "\\Device\\Harddisk24\\Partition4"},
+ {"/dev/sdy5", BRACK(FH_SDY | 5), "\\Device\\Harddisk24\\Partition5"},
+ {"/dev/sdy6", BRACK(FH_SDY | 6), "\\Device\\Harddisk24\\Partition6"},
+ {"/dev/sdy7", BRACK(FH_SDY | 7), "\\Device\\Harddisk24\\Partition7"},
+ {"/dev/sdy8", BRACK(FH_SDY | 8), "\\Device\\Harddisk24\\Partition8"},
+ {"/dev/sdy9", BRACK(FH_SDY | 9), "\\Device\\Harddisk24\\Partition9"},
+ {"/dev/sdy10", BRACK(FH_SDY | 10), "\\Device\\Harddisk24\\Partition10"},
+ {"/dev/sdy11", BRACK(FH_SDY | 11), "\\Device\\Harddisk24\\Partition11"},
+ {"/dev/sdy12", BRACK(FH_SDY | 12), "\\Device\\Harddisk24\\Partition12"},
+ {"/dev/sdy13", BRACK(FH_SDY | 13), "\\Device\\Harddisk24\\Partition13"},
+ {"/dev/sdy14", BRACK(FH_SDY | 14), "\\Device\\Harddisk24\\Partition14"},
+ {"/dev/sdy15", BRACK(FH_SDY | 15), "\\Device\\Harddisk24\\Partition15"},
+ {"/dev/sdz1", BRACK(FH_SDZ | 1), "\\Device\\Harddisk25\\Partition1"},
+ {"/dev/sdz2", BRACK(FH_SDZ | 2), "\\Device\\Harddisk25\\Partition2"},
+ {"/dev/sdz3", BRACK(FH_SDZ | 3), "\\Device\\Harddisk25\\Partition3"},
+ {"/dev/sdz4", BRACK(FH_SDZ | 4), "\\Device\\Harddisk25\\Partition4"},
+ {"/dev/sdz5", BRACK(FH_SDZ | 5), "\\Device\\Harddisk25\\Partition5"},
+ {"/dev/sdz6", BRACK(FH_SDZ | 6), "\\Device\\Harddisk25\\Partition6"},
+ {"/dev/sdz7", BRACK(FH_SDZ | 7), "\\Device\\Harddisk25\\Partition7"},
+ {"/dev/sdz8", BRACK(FH_SDZ | 8), "\\Device\\Harddisk25\\Partition8"},
+ {"/dev/sdz9", BRACK(FH_SDZ | 9), "\\Device\\Harddisk25\\Partition9"},
+ {"/dev/sdz10", BRACK(FH_SDZ | 10), "\\Device\\Harddisk25\\Partition10"},
+ {"/dev/sdz11", BRACK(FH_SDZ | 11), "\\Device\\Harddisk25\\Partition11"},
+ {"/dev/sdz12", BRACK(FH_SDZ | 12), "\\Device\\Harddisk25\\Partition12"},
+ {"/dev/sdz13", BRACK(FH_SDZ | 13), "\\Device\\Harddisk25\\Partition13"},
+ {"/dev/sdz14", BRACK(FH_SDZ | 14), "\\Device\\Harddisk25\\Partition14"},
+ {"/dev/sdz15", BRACK(FH_SDZ | 15), "\\Device\\Harddisk25\\Partition15"},
+ {"/dev/sdaa", BRACK(FH_SDAA), "\\Device\\Harddisk26\\Partition0"},
+ {"/dev/sdab", BRACK(FH_SDAB), "\\Device\\Harddisk27\\Partition0"},
+ {"/dev/sdac", BRACK(FH_SDAC), "\\Device\\Harddisk28\\Partition0"},
+ {"/dev/sdad", BRACK(FH_SDAD), "\\Device\\Harddisk29\\Partition0"},
+ {"/dev/sdae", BRACK(FH_SDAE), "\\Device\\Harddisk30\\Partition0"},
+ {"/dev/sdaf", BRACK(FH_SDAF), "\\Device\\Harddisk31\\Partition0"},
+ {"/dev/sdag", BRACK(FH_SDAG), "\\Device\\Harddisk32\\Partition0"},
+ {"/dev/sdah", BRACK(FH_SDAH), "\\Device\\Harddisk33\\Partition0"},
+ {"/dev/sdai", BRACK(FH_SDAI), "\\Device\\Harddisk34\\Partition0"},
+ {"/dev/sdaj", BRACK(FH_SDAJ), "\\Device\\Harddisk35\\Partition0"},
+ {"/dev/sdak", BRACK(FH_SDAK), "\\Device\\Harddisk36\\Partition0"},
+ {"/dev/sdal", BRACK(FH_SDAL), "\\Device\\Harddisk37\\Partition0"},
+ {"/dev/sdam", BRACK(FH_SDAM), "\\Device\\Harddisk38\\Partition0"},
+ {"/dev/sdan", BRACK(FH_SDAN), "\\Device\\Harddisk39\\Partition0"},
+ {"/dev/sdao", BRACK(FH_SDAO), "\\Device\\Harddisk40\\Partition0"},
+ {"/dev/sdap", BRACK(FH_SDAP), "\\Device\\Harddisk41\\Partition0"},
+ {"/dev/sdaq", BRACK(FH_SDAQ), "\\Device\\Harddisk42\\Partition0"},
+ {"/dev/sdar", BRACK(FH_SDAR), "\\Device\\Harddisk43\\Partition0"},
+ {"/dev/sdas", BRACK(FH_SDAS), "\\Device\\Harddisk44\\Partition0"},
+ {"/dev/sdat", BRACK(FH_SDAT), "\\Device\\Harddisk45\\Partition0"},
+ {"/dev/sdau", BRACK(FH_SDAU), "\\Device\\Harddisk46\\Partition0"},
+ {"/dev/sdav", BRACK(FH_SDAV), "\\Device\\Harddisk47\\Partition0"},
+ {"/dev/sdaw", BRACK(FH_SDAW), "\\Device\\Harddisk48\\Partition0"},
+ {"/dev/sdax", BRACK(FH_SDAX), "\\Device\\Harddisk49\\Partition0"},
+ {"/dev/sday", BRACK(FH_SDAY), "\\Device\\Harddisk50\\Partition0"},
+ {"/dev/sdaz", BRACK(FH_SDAZ), "\\Device\\Harddisk51\\Partition0"},
+ {"/dev/sdaa1", BRACK(FH_SDAA | 1), "\\Device\\Harddisk26\\Partition1"},
+ {"/dev/sdaa2", BRACK(FH_SDAA | 2), "\\Device\\Harddisk26\\Partition2"},
+ {"/dev/sdaa3", BRACK(FH_SDAA | 3), "\\Device\\Harddisk26\\Partition3"},
+ {"/dev/sdaa4", BRACK(FH_SDAA | 4), "\\Device\\Harddisk26\\Partition4"},
+ {"/dev/sdaa5", BRACK(FH_SDAA | 5), "\\Device\\Harddisk26\\Partition5"},
+ {"/dev/sdaa6", BRACK(FH_SDAA | 6), "\\Device\\Harddisk26\\Partition6"},
+ {"/dev/sdaa7", BRACK(FH_SDAA | 7), "\\Device\\Harddisk26\\Partition7"},
+ {"/dev/sdaa8", BRACK(FH_SDAA | 8), "\\Device\\Harddisk26\\Partition8"},
+ {"/dev/sdaa9", BRACK(FH_SDAA | 9), "\\Device\\Harddisk26\\Partition9"},
+ {"/dev/sdaa10", BRACK(FH_SDAA | 10), "\\Device\\Harddisk26\\Partition10"},
+ {"/dev/sdaa11", BRACK(FH_SDAA | 11), "\\Device\\Harddisk26\\Partition11"},
+ {"/dev/sdaa12", BRACK(FH_SDAA | 12), "\\Device\\Harddisk26\\Partition12"},
+ {"/dev/sdaa13", BRACK(FH_SDAA | 13), "\\Device\\Harddisk26\\Partition13"},
+ {"/dev/sdaa14", BRACK(FH_SDAA | 14), "\\Device\\Harddisk26\\Partition14"},
+ {"/dev/sdaa15", BRACK(FH_SDAA | 15), "\\Device\\Harddisk26\\Partition15"},
+ {"/dev/sdab1", BRACK(FH_SDAB | 1), "\\Device\\Harddisk27\\Partition1"},
+ {"/dev/sdab2", BRACK(FH_SDAB | 2), "\\Device\\Harddisk27\\Partition2"},
+ {"/dev/sdab3", BRACK(FH_SDAB | 3), "\\Device\\Harddisk27\\Partition3"},
+ {"/dev/sdab4", BRACK(FH_SDAB | 4), "\\Device\\Harddisk27\\Partition4"},
+ {"/dev/sdab5", BRACK(FH_SDAB | 5), "\\Device\\Harddisk27\\Partition5"},
+ {"/dev/sdab6", BRACK(FH_SDAB | 6), "\\Device\\Harddisk27\\Partition6"},
+ {"/dev/sdab7", BRACK(FH_SDAB | 7), "\\Device\\Harddisk27\\Partition7"},
+ {"/dev/sdab8", BRACK(FH_SDAB | 8), "\\Device\\Harddisk27\\Partition8"},
+ {"/dev/sdab9", BRACK(FH_SDAB | 9), "\\Device\\Harddisk27\\Partition9"},
+ {"/dev/sdab10", BRACK(FH_SDAB | 10), "\\Device\\Harddisk27\\Partition10"},
+ {"/dev/sdab11", BRACK(FH_SDAB | 11), "\\Device\\Harddisk27\\Partition11"},
+ {"/dev/sdab12", BRACK(FH_SDAB | 12), "\\Device\\Harddisk27\\Partition12"},
+ {"/dev/sdab13", BRACK(FH_SDAB | 13), "\\Device\\Harddisk27\\Partition13"},
+ {"/dev/sdab14", BRACK(FH_SDAB | 14), "\\Device\\Harddisk27\\Partition14"},
+ {"/dev/sdab15", BRACK(FH_SDAB | 15), "\\Device\\Harddisk27\\Partition15"},
+ {"/dev/sdac1", BRACK(FH_SDAC | 1), "\\Device\\Harddisk28\\Partition1"},
+ {"/dev/sdac2", BRACK(FH_SDAC | 2), "\\Device\\Harddisk28\\Partition2"},
+ {"/dev/sdac3", BRACK(FH_SDAC | 3), "\\Device\\Harddisk28\\Partition3"},
+ {"/dev/sdac4", BRACK(FH_SDAC | 4), "\\Device\\Harddisk28\\Partition4"},
+ {"/dev/sdac5", BRACK(FH_SDAC | 5), "\\Device\\Harddisk28\\Partition5"},
+ {"/dev/sdac6", BRACK(FH_SDAC | 6), "\\Device\\Harddisk28\\Partition6"},
+ {"/dev/sdac7", BRACK(FH_SDAC | 7), "\\Device\\Harddisk28\\Partition7"},
+ {"/dev/sdac8", BRACK(FH_SDAC | 8), "\\Device\\Harddisk28\\Partition8"},
+ {"/dev/sdac9", BRACK(FH_SDAC | 9), "\\Device\\Harddisk28\\Partition9"},
+ {"/dev/sdac10", BRACK(FH_SDAC | 10), "\\Device\\Harddisk28\\Partition10"},
+ {"/dev/sdac11", BRACK(FH_SDAC | 11), "\\Device\\Harddisk28\\Partition11"},
+ {"/dev/sdac12", BRACK(FH_SDAC | 12), "\\Device\\Harddisk28\\Partition12"},
+ {"/dev/sdac13", BRACK(FH_SDAC | 13), "\\Device\\Harddisk28\\Partition13"},
+ {"/dev/sdac14", BRACK(FH_SDAC | 14), "\\Device\\Harddisk28\\Partition14"},
+ {"/dev/sdac15", BRACK(FH_SDAC | 15), "\\Device\\Harddisk28\\Partition15"},
+ {"/dev/sdad1", BRACK(FH_SDAD | 1), "\\Device\\Harddisk29\\Partition1"},
+ {"/dev/sdad2", BRACK(FH_SDAD | 2), "\\Device\\Harddisk29\\Partition2"},
+ {"/dev/sdad3", BRACK(FH_SDAD | 3), "\\Device\\Harddisk29\\Partition3"},
+ {"/dev/sdad4", BRACK(FH_SDAD | 4), "\\Device\\Harddisk29\\Partition4"},
+ {"/dev/sdad5", BRACK(FH_SDAD | 5), "\\Device\\Harddisk29\\Partition5"},
+ {"/dev/sdad6", BRACK(FH_SDAD | 6), "\\Device\\Harddisk29\\Partition6"},
+ {"/dev/sdad7", BRACK(FH_SDAD | 7), "\\Device\\Harddisk29\\Partition7"},
+ {"/dev/sdad8", BRACK(FH_SDAD | 8), "\\Device\\Harddisk29\\Partition8"},
+ {"/dev/sdad9", BRACK(FH_SDAD | 9), "\\Device\\Harddisk29\\Partition9"},
+ {"/dev/sdad10", BRACK(FH_SDAD | 10), "\\Device\\Harddisk29\\Partition10"},
+ {"/dev/sdad11", BRACK(FH_SDAD | 11), "\\Device\\Harddisk29\\Partition11"},
+ {"/dev/sdad12", BRACK(FH_SDAD | 12), "\\Device\\Harddisk29\\Partition12"},
+ {"/dev/sdad13", BRACK(FH_SDAD | 13), "\\Device\\Harddisk29\\Partition13"},
+ {"/dev/sdad14", BRACK(FH_SDAD | 14), "\\Device\\Harddisk29\\Partition14"},
+ {"/dev/sdad15", BRACK(FH_SDAD | 15), "\\Device\\Harddisk29\\Partition15"},
+ {"/dev/sdae1", BRACK(FH_SDAE | 1), "\\Device\\Harddisk30\\Partition1"},
+ {"/dev/sdae2", BRACK(FH_SDAE | 2), "\\Device\\Harddisk30\\Partition2"},
+ {"/dev/sdae3", BRACK(FH_SDAE | 3), "\\Device\\Harddisk30\\Partition3"},
+ {"/dev/sdae4", BRACK(FH_SDAE | 4), "\\Device\\Harddisk30\\Partition4"},
+ {"/dev/sdae5", BRACK(FH_SDAE | 5), "\\Device\\Harddisk30\\Partition5"},
+ {"/dev/sdae6", BRACK(FH_SDAE | 6), "\\Device\\Harddisk30\\Partition6"},
+ {"/dev/sdae7", BRACK(FH_SDAE | 7), "\\Device\\Harddisk30\\Partition7"},
+ {"/dev/sdae8", BRACK(FH_SDAE | 8), "\\Device\\Harddisk30\\Partition8"},
+ {"/dev/sdae9", BRACK(FH_SDAE | 9), "\\Device\\Harddisk30\\Partition9"},
+ {"/dev/sdae10", BRACK(FH_SDAE | 10), "\\Device\\Harddisk30\\Partition10"},
+ {"/dev/sdae11", BRACK(FH_SDAE | 11), "\\Device\\Harddisk30\\Partition11"},
+ {"/dev/sdae12", BRACK(FH_SDAE | 12), "\\Device\\Harddisk30\\Partition12"},
+ {"/dev/sdae13", BRACK(FH_SDAE | 13), "\\Device\\Harddisk30\\Partition13"},
+ {"/dev/sdae14", BRACK(FH_SDAE | 14), "\\Device\\Harddisk30\\Partition14"},
+ {"/dev/sdae15", BRACK(FH_SDAE | 15), "\\Device\\Harddisk30\\Partition15"},
+ {"/dev/sdaf1", BRACK(FH_SDAF | 1), "\\Device\\Harddisk31\\Partition1"},
+ {"/dev/sdaf2", BRACK(FH_SDAF | 2), "\\Device\\Harddisk31\\Partition2"},
+ {"/dev/sdaf3", BRACK(FH_SDAF | 3), "\\Device\\Harddisk31\\Partition3"},
+ {"/dev/sdaf4", BRACK(FH_SDAF | 4), "\\Device\\Harddisk31\\Partition4"},
+ {"/dev/sdaf5", BRACK(FH_SDAF | 5), "\\Device\\Harddisk31\\Partition5"},
+ {"/dev/sdaf6", BRACK(FH_SDAF | 6), "\\Device\\Harddisk31\\Partition6"},
+ {"/dev/sdaf7", BRACK(FH_SDAF | 7), "\\Device\\Harddisk31\\Partition7"},
+ {"/dev/sdaf8", BRACK(FH_SDAF | 8), "\\Device\\Harddisk31\\Partition8"},
+ {"/dev/sdaf9", BRACK(FH_SDAF | 9), "\\Device\\Harddisk31\\Partition9"},
+ {"/dev/sdaf10", BRACK(FH_SDAF | 10), "\\Device\\Harddisk31\\Partition10"},
+ {"/dev/sdaf11", BRACK(FH_SDAF | 11), "\\Device\\Harddisk31\\Partition11"},
+ {"/dev/sdaf12", BRACK(FH_SDAF | 12), "\\Device\\Harddisk31\\Partition12"},
+ {"/dev/sdaf13", BRACK(FH_SDAF | 13), "\\Device\\Harddisk31\\Partition13"},
+ {"/dev/sdaf14", BRACK(FH_SDAF | 14), "\\Device\\Harddisk31\\Partition14"},
+ {"/dev/sdaf15", BRACK(FH_SDAF | 15), "\\Device\\Harddisk31\\Partition15"},
+ {"/dev/sdag1", BRACK(FH_SDAG | 1), "\\Device\\Harddisk32\\Partition1"},
+ {"/dev/sdag2", BRACK(FH_SDAG | 2), "\\Device\\Harddisk32\\Partition2"},
+ {"/dev/sdag3", BRACK(FH_SDAG | 3), "\\Device\\Harddisk32\\Partition3"},
+ {"/dev/sdag4", BRACK(FH_SDAG | 4), "\\Device\\Harddisk32\\Partition4"},
+ {"/dev/sdag5", BRACK(FH_SDAG | 5), "\\Device\\Harddisk32\\Partition5"},
+ {"/dev/sdag6", BRACK(FH_SDAG | 6), "\\Device\\Harddisk32\\Partition6"},
+ {"/dev/sdag7", BRACK(FH_SDAG | 7), "\\Device\\Harddisk32\\Partition7"},
+ {"/dev/sdag8", BRACK(FH_SDAG | 8), "\\Device\\Harddisk32\\Partition8"},
+ {"/dev/sdag9", BRACK(FH_SDAG | 9), "\\Device\\Harddisk32\\Partition9"},
+ {"/dev/sdag10", BRACK(FH_SDAG | 10), "\\Device\\Harddisk32\\Partition10"},
+ {"/dev/sdag11", BRACK(FH_SDAG | 11), "\\Device\\Harddisk32\\Partition11"},
+ {"/dev/sdag12", BRACK(FH_SDAG | 12), "\\Device\\Harddisk32\\Partition12"},
+ {"/dev/sdag13", BRACK(FH_SDAG | 13), "\\Device\\Harddisk32\\Partition13"},
+ {"/dev/sdag14", BRACK(FH_SDAG | 14), "\\Device\\Harddisk32\\Partition14"},
+ {"/dev/sdag15", BRACK(FH_SDAG | 15), "\\Device\\Harddisk32\\Partition15"},
+ {"/dev/sdah1", BRACK(FH_SDAH | 1), "\\Device\\Harddisk33\\Partition1"},
+ {"/dev/sdah2", BRACK(FH_SDAH | 2), "\\Device\\Harddisk33\\Partition2"},
+ {"/dev/sdah3", BRACK(FH_SDAH | 3), "\\Device\\Harddisk33\\Partition3"},
+ {"/dev/sdah4", BRACK(FH_SDAH | 4), "\\Device\\Harddisk33\\Partition4"},
+ {"/dev/sdah5", BRACK(FH_SDAH | 5), "\\Device\\Harddisk33\\Partition5"},
+ {"/dev/sdah6", BRACK(FH_SDAH | 6), "\\Device\\Harddisk33\\Partition6"},
+ {"/dev/sdah7", BRACK(FH_SDAH | 7), "\\Device\\Harddisk33\\Partition7"},
+ {"/dev/sdah8", BRACK(FH_SDAH | 8), "\\Device\\Harddisk33\\Partition8"},
+ {"/dev/sdah9", BRACK(FH_SDAH | 9), "\\Device\\Harddisk33\\Partition9"},
+ {"/dev/sdah10", BRACK(FH_SDAH | 10), "\\Device\\Harddisk33\\Partition10"},
+ {"/dev/sdah11", BRACK(FH_SDAH | 11), "\\Device\\Harddisk33\\Partition11"},
+ {"/dev/sdah12", BRACK(FH_SDAH | 12), "\\Device\\Harddisk33\\Partition12"},
+ {"/dev/sdah13", BRACK(FH_SDAH | 13), "\\Device\\Harddisk33\\Partition13"},
+ {"/dev/sdah14", BRACK(FH_SDAH | 14), "\\Device\\Harddisk33\\Partition14"},
+ {"/dev/sdah15", BRACK(FH_SDAH | 15), "\\Device\\Harddisk33\\Partition15"},
+ {"/dev/sdai1", BRACK(FH_SDAI | 1), "\\Device\\Harddisk34\\Partition1"},
+ {"/dev/sdai2", BRACK(FH_SDAI | 2), "\\Device\\Harddisk34\\Partition2"},
+ {"/dev/sdai3", BRACK(FH_SDAI | 3), "\\Device\\Harddisk34\\Partition3"},
+ {"/dev/sdai4", BRACK(FH_SDAI | 4), "\\Device\\Harddisk34\\Partition4"},
+ {"/dev/sdai5", BRACK(FH_SDAI | 5), "\\Device\\Harddisk34\\Partition5"},
+ {"/dev/sdai6", BRACK(FH_SDAI | 6), "\\Device\\Harddisk34\\Partition6"},
+ {"/dev/sdai7", BRACK(FH_SDAI | 7), "\\Device\\Harddisk34\\Partition7"},
+ {"/dev/sdai8", BRACK(FH_SDAI | 8), "\\Device\\Harddisk34\\Partition8"},
+ {"/dev/sdai9", BRACK(FH_SDAI | 9), "\\Device\\Harddisk34\\Partition9"},
+ {"/dev/sdai10", BRACK(FH_SDAI | 10), "\\Device\\Harddisk34\\Partition10"},
+ {"/dev/sdai11", BRACK(FH_SDAI | 11), "\\Device\\Harddisk34\\Partition11"},
+ {"/dev/sdai12", BRACK(FH_SDAI | 12), "\\Device\\Harddisk34\\Partition12"},
+ {"/dev/sdai13", BRACK(FH_SDAI | 13), "\\Device\\Harddisk34\\Partition13"},
+ {"/dev/sdai14", BRACK(FH_SDAI | 14), "\\Device\\Harddisk34\\Partition14"},
+ {"/dev/sdai15", BRACK(FH_SDAI | 15), "\\Device\\Harddisk34\\Partition15"},
+ {"/dev/sdaj1", BRACK(FH_SDAJ | 1), "\\Device\\Harddisk35\\Partition1"},
+ {"/dev/sdaj2", BRACK(FH_SDAJ | 2), "\\Device\\Harddisk35\\Partition2"},
+ {"/dev/sdaj3", BRACK(FH_SDAJ | 3), "\\Device\\Harddisk35\\Partition3"},
+ {"/dev/sdaj4", BRACK(FH_SDAJ | 4), "\\Device\\Harddisk35\\Partition4"},
+ {"/dev/sdaj5", BRACK(FH_SDAJ | 5), "\\Device\\Harddisk35\\Partition5"},
+ {"/dev/sdaj6", BRACK(FH_SDAJ | 6), "\\Device\\Harddisk35\\Partition6"},
+ {"/dev/sdaj7", BRACK(FH_SDAJ | 7), "\\Device\\Harddisk35\\Partition7"},
+ {"/dev/sdaj8", BRACK(FH_SDAJ | 8), "\\Device\\Harddisk35\\Partition8"},
+ {"/dev/sdaj9", BRACK(FH_SDAJ | 9), "\\Device\\Harddisk35\\Partition9"},
+ {"/dev/sdaj10", BRACK(FH_SDAJ | 10), "\\Device\\Harddisk35\\Partition10"},
+ {"/dev/sdaj11", BRACK(FH_SDAJ | 11), "\\Device\\Harddisk35\\Partition11"},
+ {"/dev/sdaj12", BRACK(FH_SDAJ | 12), "\\Device\\Harddisk35\\Partition12"},
+ {"/dev/sdaj13", BRACK(FH_SDAJ | 13), "\\Device\\Harddisk35\\Partition13"},
+ {"/dev/sdaj14", BRACK(FH_SDAJ | 14), "\\Device\\Harddisk35\\Partition14"},
+ {"/dev/sdaj15", BRACK(FH_SDAJ | 15), "\\Device\\Harddisk35\\Partition15"},
+ {"/dev/sdak1", BRACK(FH_SDAK | 1), "\\Device\\Harddisk36\\Partition1"},
+ {"/dev/sdak2", BRACK(FH_SDAK | 2), "\\Device\\Harddisk36\\Partition2"},
+ {"/dev/sdak3", BRACK(FH_SDAK | 3), "\\Device\\Harddisk36\\Partition3"},
+ {"/dev/sdak4", BRACK(FH_SDAK | 4), "\\Device\\Harddisk36\\Partition4"},
+ {"/dev/sdak5", BRACK(FH_SDAK | 5), "\\Device\\Harddisk36\\Partition5"},
+ {"/dev/sdak6", BRACK(FH_SDAK | 6), "\\Device\\Harddisk36\\Partition6"},
+ {"/dev/sdak7", BRACK(FH_SDAK | 7), "\\Device\\Harddisk36\\Partition7"},
+ {"/dev/sdak8", BRACK(FH_SDAK | 8), "\\Device\\Harddisk36\\Partition8"},
+ {"/dev/sdak9", BRACK(FH_SDAK | 9), "\\Device\\Harddisk36\\Partition9"},
+ {"/dev/sdak10", BRACK(FH_SDAK | 10), "\\Device\\Harddisk36\\Partition10"},
+ {"/dev/sdak11", BRACK(FH_SDAK | 11), "\\Device\\Harddisk36\\Partition11"},
+ {"/dev/sdak12", BRACK(FH_SDAK | 12), "\\Device\\Harddisk36\\Partition12"},
+ {"/dev/sdak13", BRACK(FH_SDAK | 13), "\\Device\\Harddisk36\\Partition13"},
+ {"/dev/sdak14", BRACK(FH_SDAK | 14), "\\Device\\Harddisk36\\Partition14"},
+ {"/dev/sdak15", BRACK(FH_SDAK | 15), "\\Device\\Harddisk36\\Partition15"},
+ {"/dev/sdal1", BRACK(FH_SDAL | 1), "\\Device\\Harddisk37\\Partition1"},
+ {"/dev/sdal2", BRACK(FH_SDAL | 2), "\\Device\\Harddisk37\\Partition2"},
+ {"/dev/sdal3", BRACK(FH_SDAL | 3), "\\Device\\Harddisk37\\Partition3"},
+ {"/dev/sdal4", BRACK(FH_SDAL | 4), "\\Device\\Harddisk37\\Partition4"},
+ {"/dev/sdal5", BRACK(FH_SDAL | 5), "\\Device\\Harddisk37\\Partition5"},
+ {"/dev/sdal6", BRACK(FH_SDAL | 6), "\\Device\\Harddisk37\\Partition6"},
+ {"/dev/sdal7", BRACK(FH_SDAL | 7), "\\Device\\Harddisk37\\Partition7"},
+ {"/dev/sdal8", BRACK(FH_SDAL | 8), "\\Device\\Harddisk37\\Partition8"},
+ {"/dev/sdal9", BRACK(FH_SDAL | 9), "\\Device\\Harddisk37\\Partition9"},
+ {"/dev/sdal10", BRACK(FH_SDAL | 10), "\\Device\\Harddisk37\\Partition10"},
+ {"/dev/sdal11", BRACK(FH_SDAL | 11), "\\Device\\Harddisk37\\Partition11"},
+ {"/dev/sdal12", BRACK(FH_SDAL | 12), "\\Device\\Harddisk37\\Partition12"},
+ {"/dev/sdal13", BRACK(FH_SDAL | 13), "\\Device\\Harddisk37\\Partition13"},
+ {"/dev/sdal14", BRACK(FH_SDAL | 14), "\\Device\\Harddisk37\\Partition14"},
+ {"/dev/sdal15", BRACK(FH_SDAL | 15), "\\Device\\Harddisk37\\Partition15"},
+ {"/dev/sdam1", BRACK(FH_SDAM | 1), "\\Device\\Harddisk38\\Partition1"},
+ {"/dev/sdam2", BRACK(FH_SDAM | 2), "\\Device\\Harddisk38\\Partition2"},
+ {"/dev/sdam3", BRACK(FH_SDAM | 3), "\\Device\\Harddisk38\\Partition3"},
+ {"/dev/sdam4", BRACK(FH_SDAM | 4), "\\Device\\Harddisk38\\Partition4"},
+ {"/dev/sdam5", BRACK(FH_SDAM | 5), "\\Device\\Harddisk38\\Partition5"},
+ {"/dev/sdam6", BRACK(FH_SDAM | 6), "\\Device\\Harddisk38\\Partition6"},
+ {"/dev/sdam7", BRACK(FH_SDAM | 7), "\\Device\\Harddisk38\\Partition7"},
+ {"/dev/sdam8", BRACK(FH_SDAM | 8), "\\Device\\Harddisk38\\Partition8"},
+ {"/dev/sdam9", BRACK(FH_SDAM | 9), "\\Device\\Harddisk38\\Partition9"},
+ {"/dev/sdam10", BRACK(FH_SDAM | 10), "\\Device\\Harddisk38\\Partition10"},
+ {"/dev/sdam11", BRACK(FH_SDAM | 11), "\\Device\\Harddisk38\\Partition11"},
+ {"/dev/sdam12", BRACK(FH_SDAM | 12), "\\Device\\Harddisk38\\Partition12"},
+ {"/dev/sdam13", BRACK(FH_SDAM | 13), "\\Device\\Harddisk38\\Partition13"},
+ {"/dev/sdam14", BRACK(FH_SDAM | 14), "\\Device\\Harddisk38\\Partition14"},
+ {"/dev/sdam15", BRACK(FH_SDAM | 15), "\\Device\\Harddisk38\\Partition15"},
+ {"/dev/sdan1", BRACK(FH_SDAN | 1), "\\Device\\Harddisk39\\Partition1"},
+ {"/dev/sdan2", BRACK(FH_SDAN | 2), "\\Device\\Harddisk39\\Partition2"},
+ {"/dev/sdan3", BRACK(FH_SDAN | 3), "\\Device\\Harddisk39\\Partition3"},
+ {"/dev/sdan4", BRACK(FH_SDAN | 4), "\\Device\\Harddisk39\\Partition4"},
+ {"/dev/sdan5", BRACK(FH_SDAN | 5), "\\Device\\Harddisk39\\Partition5"},
+ {"/dev/sdan6", BRACK(FH_SDAN | 6), "\\Device\\Harddisk39\\Partition6"},
+ {"/dev/sdan7", BRACK(FH_SDAN | 7), "\\Device\\Harddisk39\\Partition7"},
+ {"/dev/sdan8", BRACK(FH_SDAN | 8), "\\Device\\Harddisk39\\Partition8"},
+ {"/dev/sdan9", BRACK(FH_SDAN | 9), "\\Device\\Harddisk39\\Partition9"},
+ {"/dev/sdan10", BRACK(FH_SDAN | 10), "\\Device\\Harddisk39\\Partition10"},
+ {"/dev/sdan11", BRACK(FH_SDAN | 11), "\\Device\\Harddisk39\\Partition11"},
+ {"/dev/sdan12", BRACK(FH_SDAN | 12), "\\Device\\Harddisk39\\Partition12"},
+ {"/dev/sdan13", BRACK(FH_SDAN | 13), "\\Device\\Harddisk39\\Partition13"},
+ {"/dev/sdan14", BRACK(FH_SDAN | 14), "\\Device\\Harddisk39\\Partition14"},
+ {"/dev/sdan15", BRACK(FH_SDAN | 15), "\\Device\\Harddisk39\\Partition15"},
+ {"/dev/sdao1", BRACK(FH_SDAO | 1), "\\Device\\Harddisk40\\Partition1"},
+ {"/dev/sdao2", BRACK(FH_SDAO | 2), "\\Device\\Harddisk40\\Partition2"},
+ {"/dev/sdao3", BRACK(FH_SDAO | 3), "\\Device\\Harddisk40\\Partition3"},
+ {"/dev/sdao4", BRACK(FH_SDAO | 4), "\\Device\\Harddisk40\\Partition4"},
+ {"/dev/sdao5", BRACK(FH_SDAO | 5), "\\Device\\Harddisk40\\Partition5"},
+ {"/dev/sdao6", BRACK(FH_SDAO | 6), "\\Device\\Harddisk40\\Partition6"},
+ {"/dev/sdao7", BRACK(FH_SDAO | 7), "\\Device\\Harddisk40\\Partition7"},
+ {"/dev/sdao8", BRACK(FH_SDAO | 8), "\\Device\\Harddisk40\\Partition8"},
+ {"/dev/sdao9", BRACK(FH_SDAO | 9), "\\Device\\Harddisk40\\Partition9"},
+ {"/dev/sdao10", BRACK(FH_SDAO | 10), "\\Device\\Harddisk40\\Partition10"},
+ {"/dev/sdao11", BRACK(FH_SDAO | 11), "\\Device\\Harddisk40\\Partition11"},
+ {"/dev/sdao12", BRACK(FH_SDAO | 12), "\\Device\\Harddisk40\\Partition12"},
+ {"/dev/sdao13", BRACK(FH_SDAO | 13), "\\Device\\Harddisk40\\Partition13"},
+ {"/dev/sdao14", BRACK(FH_SDAO | 14), "\\Device\\Harddisk40\\Partition14"},
+ {"/dev/sdao15", BRACK(FH_SDAO | 15), "\\Device\\Harddisk40\\Partition15"},
+ {"/dev/sdap1", BRACK(FH_SDAP | 1), "\\Device\\Harddisk41\\Partition1"},
+ {"/dev/sdap2", BRACK(FH_SDAP | 2), "\\Device\\Harddisk41\\Partition2"},
+ {"/dev/sdap3", BRACK(FH_SDAP | 3), "\\Device\\Harddisk41\\Partition3"},
+ {"/dev/sdap4", BRACK(FH_SDAP | 4), "\\Device\\Harddisk41\\Partition4"},
+ {"/dev/sdap5", BRACK(FH_SDAP | 5), "\\Device\\Harddisk41\\Partition5"},
+ {"/dev/sdap6", BRACK(FH_SDAP | 6), "\\Device\\Harddisk41\\Partition6"},
+ {"/dev/sdap7", BRACK(FH_SDAP | 7), "\\Device\\Harddisk41\\Partition7"},
+ {"/dev/sdap8", BRACK(FH_SDAP | 8), "\\Device\\Harddisk41\\Partition8"},
+ {"/dev/sdap9", BRACK(FH_SDAP | 9), "\\Device\\Harddisk41\\Partition9"},
+ {"/dev/sdap10", BRACK(FH_SDAP | 10), "\\Device\\Harddisk41\\Partition10"},
+ {"/dev/sdap11", BRACK(FH_SDAP | 11), "\\Device\\Harddisk41\\Partition11"},
+ {"/dev/sdap12", BRACK(FH_SDAP | 12), "\\Device\\Harddisk41\\Partition12"},
+ {"/dev/sdap13", BRACK(FH_SDAP | 13), "\\Device\\Harddisk41\\Partition13"},
+ {"/dev/sdap14", BRACK(FH_SDAP | 14), "\\Device\\Harddisk41\\Partition14"},
+ {"/dev/sdap15", BRACK(FH_SDAP | 15), "\\Device\\Harddisk41\\Partition15"},
+ {"/dev/sdaq1", BRACK(FH_SDAQ | 1), "\\Device\\Harddisk42\\Partition1"},
+ {"/dev/sdaq2", BRACK(FH_SDAQ | 2), "\\Device\\Harddisk42\\Partition2"},
+ {"/dev/sdaq3", BRACK(FH_SDAQ | 3), "\\Device\\Harddisk42\\Partition3"},
+ {"/dev/sdaq4", BRACK(FH_SDAQ | 4), "\\Device\\Harddisk42\\Partition4"},
+ {"/dev/sdaq5", BRACK(FH_SDAQ | 5), "\\Device\\Harddisk42\\Partition5"},
+ {"/dev/sdaq6", BRACK(FH_SDAQ | 6), "\\Device\\Harddisk42\\Partition6"},
+ {"/dev/sdaq7", BRACK(FH_SDAQ | 7), "\\Device\\Harddisk42\\Partition7"},
+ {"/dev/sdaq8", BRACK(FH_SDAQ | 8), "\\Device\\Harddisk42\\Partition8"},
+ {"/dev/sdaq9", BRACK(FH_SDAQ | 9), "\\Device\\Harddisk42\\Partition9"},
+ {"/dev/sdaq10", BRACK(FH_SDAQ | 10), "\\Device\\Harddisk42\\Partition10"},
+ {"/dev/sdaq11", BRACK(FH_SDAQ | 11), "\\Device\\Harddisk42\\Partition11"},
+ {"/dev/sdaq12", BRACK(FH_SDAQ | 12), "\\Device\\Harddisk42\\Partition12"},
+ {"/dev/sdaq13", BRACK(FH_SDAQ | 13), "\\Device\\Harddisk42\\Partition13"},
+ {"/dev/sdaq14", BRACK(FH_SDAQ | 14), "\\Device\\Harddisk42\\Partition14"},
+ {"/dev/sdaq15", BRACK(FH_SDAQ | 15), "\\Device\\Harddisk42\\Partition15"},
+ {"/dev/sdar1", BRACK(FH_SDAR | 1), "\\Device\\Harddisk43\\Partition1"},
+ {"/dev/sdar2", BRACK(FH_SDAR | 2), "\\Device\\Harddisk43\\Partition2"},
+ {"/dev/sdar3", BRACK(FH_SDAR | 3), "\\Device\\Harddisk43\\Partition3"},
+ {"/dev/sdar4", BRACK(FH_SDAR | 4), "\\Device\\Harddisk43\\Partition4"},
+ {"/dev/sdar5", BRACK(FH_SDAR | 5), "\\Device\\Harddisk43\\Partition5"},
+ {"/dev/sdar6", BRACK(FH_SDAR | 6), "\\Device\\Harddisk43\\Partition6"},
+ {"/dev/sdar7", BRACK(FH_SDAR | 7), "\\Device\\Harddisk43\\Partition7"},
+ {"/dev/sdar8", BRACK(FH_SDAR | 8), "\\Device\\Harddisk43\\Partition8"},
+ {"/dev/sdar9", BRACK(FH_SDAR | 9), "\\Device\\Harddisk43\\Partition9"},
+ {"/dev/sdar10", BRACK(FH_SDAR | 10), "\\Device\\Harddisk43\\Partition10"},
+ {"/dev/sdar11", BRACK(FH_SDAR | 11), "\\Device\\Harddisk43\\Partition11"},
+ {"/dev/sdar12", BRACK(FH_SDAR | 12), "\\Device\\Harddisk43\\Partition12"},
+ {"/dev/sdar13", BRACK(FH_SDAR | 13), "\\Device\\Harddisk43\\Partition13"},
+ {"/dev/sdar14", BRACK(FH_SDAR | 14), "\\Device\\Harddisk43\\Partition14"},
+ {"/dev/sdar15", BRACK(FH_SDAR | 15), "\\Device\\Harddisk43\\Partition15"},
+ {"/dev/sdas1", BRACK(FH_SDAS | 1), "\\Device\\Harddisk44\\Partition1"},
+ {"/dev/sdas2", BRACK(FH_SDAS | 2), "\\Device\\Harddisk44\\Partition2"},
+ {"/dev/sdas3", BRACK(FH_SDAS | 3), "\\Device\\Harddisk44\\Partition3"},
+ {"/dev/sdas4", BRACK(FH_SDAS | 4), "\\Device\\Harddisk44\\Partition4"},
+ {"/dev/sdas5", BRACK(FH_SDAS | 5), "\\Device\\Harddisk44\\Partition5"},
+ {"/dev/sdas6", BRACK(FH_SDAS | 6), "\\Device\\Harddisk44\\Partition6"},
+ {"/dev/sdas7", BRACK(FH_SDAS | 7), "\\Device\\Harddisk44\\Partition7"},
+ {"/dev/sdas8", BRACK(FH_SDAS | 8), "\\Device\\Harddisk44\\Partition8"},
+ {"/dev/sdas9", BRACK(FH_SDAS | 9), "\\Device\\Harddisk44\\Partition9"},
+ {"/dev/sdas10", BRACK(FH_SDAS | 10), "\\Device\\Harddisk44\\Partition10"},
+ {"/dev/sdas11", BRACK(FH_SDAS | 11), "\\Device\\Harddisk44\\Partition11"},
+ {"/dev/sdas12", BRACK(FH_SDAS | 12), "\\Device\\Harddisk44\\Partition12"},
+ {"/dev/sdas13", BRACK(FH_SDAS | 13), "\\Device\\Harddisk44\\Partition13"},
+ {"/dev/sdas14", BRACK(FH_SDAS | 14), "\\Device\\Harddisk44\\Partition14"},
+ {"/dev/sdas15", BRACK(FH_SDAS | 15), "\\Device\\Harddisk44\\Partition15"},
+ {"/dev/sdat1", BRACK(FH_SDAT | 1), "\\Device\\Harddisk45\\Partition1"},
+ {"/dev/sdat2", BRACK(FH_SDAT | 2), "\\Device\\Harddisk45\\Partition2"},
+ {"/dev/sdat3", BRACK(FH_SDAT | 3), "\\Device\\Harddisk45\\Partition3"},
+ {"/dev/sdat4", BRACK(FH_SDAT | 4), "\\Device\\Harddisk45\\Partition4"},
+ {"/dev/sdat5", BRACK(FH_SDAT | 5), "\\Device\\Harddisk45\\Partition5"},
+ {"/dev/sdat6", BRACK(FH_SDAT | 6), "\\Device\\Harddisk45\\Partition6"},
+ {"/dev/sdat7", BRACK(FH_SDAT | 7), "\\Device\\Harddisk45\\Partition7"},
+ {"/dev/sdat8", BRACK(FH_SDAT | 8), "\\Device\\Harddisk45\\Partition8"},
+ {"/dev/sdat9", BRACK(FH_SDAT | 9), "\\Device\\Harddisk45\\Partition9"},
+ {"/dev/sdat10", BRACK(FH_SDAT | 10), "\\Device\\Harddisk45\\Partition10"},
+ {"/dev/sdat11", BRACK(FH_SDAT | 11), "\\Device\\Harddisk45\\Partition11"},
+ {"/dev/sdat12", BRACK(FH_SDAT | 12), "\\Device\\Harddisk45\\Partition12"},
+ {"/dev/sdat13", BRACK(FH_SDAT | 13), "\\Device\\Harddisk45\\Partition13"},
+ {"/dev/sdat14", BRACK(FH_SDAT | 14), "\\Device\\Harddisk45\\Partition14"},
+ {"/dev/sdat15", BRACK(FH_SDAT | 15), "\\Device\\Harddisk45\\Partition15"},
+ {"/dev/sdau1", BRACK(FH_SDAU | 1), "\\Device\\Harddisk46\\Partition1"},
+ {"/dev/sdau2", BRACK(FH_SDAU | 2), "\\Device\\Harddisk46\\Partition2"},
+ {"/dev/sdau3", BRACK(FH_SDAU | 3), "\\Device\\Harddisk46\\Partition3"},
+ {"/dev/sdau4", BRACK(FH_SDAU | 4), "\\Device\\Harddisk46\\Partition4"},
+ {"/dev/sdau5", BRACK(FH_SDAU | 5), "\\Device\\Harddisk46\\Partition5"},
+ {"/dev/sdau6", BRACK(FH_SDAU | 6), "\\Device\\Harddisk46\\Partition6"},
+ {"/dev/sdau7", BRACK(FH_SDAU | 7), "\\Device\\Harddisk46\\Partition7"},
+ {"/dev/sdau8", BRACK(FH_SDAU | 8), "\\Device\\Harddisk46\\Partition8"},
+ {"/dev/sdau9", BRACK(FH_SDAU | 9), "\\Device\\Harddisk46\\Partition9"},
+ {"/dev/sdau10", BRACK(FH_SDAU | 10), "\\Device\\Harddisk46\\Partition10"},
+ {"/dev/sdau11", BRACK(FH_SDAU | 11), "\\Device\\Harddisk46\\Partition11"},
+ {"/dev/sdau12", BRACK(FH_SDAU | 12), "\\Device\\Harddisk46\\Partition12"},
+ {"/dev/sdau13", BRACK(FH_SDAU | 13), "\\Device\\Harddisk46\\Partition13"},
+ {"/dev/sdau14", BRACK(FH_SDAU | 14), "\\Device\\Harddisk46\\Partition14"},
+ {"/dev/sdau15", BRACK(FH_SDAU | 15), "\\Device\\Harddisk46\\Partition15"},
+ {"/dev/sdav1", BRACK(FH_SDAV | 1), "\\Device\\Harddisk47\\Partition1"},
+ {"/dev/sdav2", BRACK(FH_SDAV | 2), "\\Device\\Harddisk47\\Partition2"},
+ {"/dev/sdav3", BRACK(FH_SDAV | 3), "\\Device\\Harddisk47\\Partition3"},
+ {"/dev/sdav4", BRACK(FH_SDAV | 4), "\\Device\\Harddisk47\\Partition4"},
+ {"/dev/sdav5", BRACK(FH_SDAV | 5), "\\Device\\Harddisk47\\Partition5"},
+ {"/dev/sdav6", BRACK(FH_SDAV | 6), "\\Device\\Harddisk47\\Partition6"},
+ {"/dev/sdav7", BRACK(FH_SDAV | 7), "\\Device\\Harddisk47\\Partition7"},
+ {"/dev/sdav8", BRACK(FH_SDAV | 8), "\\Device\\Harddisk47\\Partition8"},
+ {"/dev/sdav9", BRACK(FH_SDAV | 9), "\\Device\\Harddisk47\\Partition9"},
+ {"/dev/sdav10", BRACK(FH_SDAV | 10), "\\Device\\Harddisk47\\Partition10"},
+ {"/dev/sdav11", BRACK(FH_SDAV | 11), "\\Device\\Harddisk47\\Partition11"},
+ {"/dev/sdav12", BRACK(FH_SDAV | 12), "\\Device\\Harddisk47\\Partition12"},
+ {"/dev/sdav13", BRACK(FH_SDAV | 13), "\\Device\\Harddisk47\\Partition13"},
+ {"/dev/sdav14", BRACK(FH_SDAV | 14), "\\Device\\Harddisk47\\Partition14"},
+ {"/dev/sdav15", BRACK(FH_SDAV | 15), "\\Device\\Harddisk47\\Partition15"},
+ {"/dev/sdaw1", BRACK(FH_SDAW | 1), "\\Device\\Harddisk48\\Partition1"},
+ {"/dev/sdaw2", BRACK(FH_SDAW | 2), "\\Device\\Harddisk48\\Partition2"},
+ {"/dev/sdaw3", BRACK(FH_SDAW | 3), "\\Device\\Harddisk48\\Partition3"},
+ {"/dev/sdaw4", BRACK(FH_SDAW | 4), "\\Device\\Harddisk48\\Partition4"},
+ {"/dev/sdaw5", BRACK(FH_SDAW | 5), "\\Device\\Harddisk48\\Partition5"},
+ {"/dev/sdaw6", BRACK(FH_SDAW | 6), "\\Device\\Harddisk48\\Partition6"},
+ {"/dev/sdaw7", BRACK(FH_SDAW | 7), "\\Device\\Harddisk48\\Partition7"},
+ {"/dev/sdaw8", BRACK(FH_SDAW | 8), "\\Device\\Harddisk48\\Partition8"},
+ {"/dev/sdaw9", BRACK(FH_SDAW | 9), "\\Device\\Harddisk48\\Partition9"},
+ {"/dev/sdaw10", BRACK(FH_SDAW | 10), "\\Device\\Harddisk48\\Partition10"},
+ {"/dev/sdaw11", BRACK(FH_SDAW | 11), "\\Device\\Harddisk48\\Partition11"},
+ {"/dev/sdaw12", BRACK(FH_SDAW | 12), "\\Device\\Harddisk48\\Partition12"},
+ {"/dev/sdaw13", BRACK(FH_SDAW | 13), "\\Device\\Harddisk48\\Partition13"},
+ {"/dev/sdaw14", BRACK(FH_SDAW | 14), "\\Device\\Harddisk48\\Partition14"},
+ {"/dev/sdaw15", BRACK(FH_SDAW | 15), "\\Device\\Harddisk48\\Partition15"},
+ {"/dev/sdax1", BRACK(FH_SDAX | 1), "\\Device\\Harddisk49\\Partition1"},
+ {"/dev/sdax2", BRACK(FH_SDAX | 2), "\\Device\\Harddisk49\\Partition2"},
+ {"/dev/sdax3", BRACK(FH_SDAX | 3), "\\Device\\Harddisk49\\Partition3"},
+ {"/dev/sdax4", BRACK(FH_SDAX | 4), "\\Device\\Harddisk49\\Partition4"},
+ {"/dev/sdax5", BRACK(FH_SDAX | 5), "\\Device\\Harddisk49\\Partition5"},
+ {"/dev/sdax6", BRACK(FH_SDAX | 6), "\\Device\\Harddisk49\\Partition6"},
+ {"/dev/sdax7", BRACK(FH_SDAX | 7), "\\Device\\Harddisk49\\Partition7"},
+ {"/dev/sdax8", BRACK(FH_SDAX | 8), "\\Device\\Harddisk49\\Partition8"},
+ {"/dev/sdax9", BRACK(FH_SDAX | 9), "\\Device\\Harddisk49\\Partition9"},
+ {"/dev/sdax10", BRACK(FH_SDAX | 10), "\\Device\\Harddisk49\\Partition10"},
+ {"/dev/sdax11", BRACK(FH_SDAX | 11), "\\Device\\Harddisk49\\Partition11"},
+ {"/dev/sdax12", BRACK(FH_SDAX | 12), "\\Device\\Harddisk49\\Partition12"},
+ {"/dev/sdax13", BRACK(FH_SDAX | 13), "\\Device\\Harddisk49\\Partition13"},
+ {"/dev/sdax14", BRACK(FH_SDAX | 14), "\\Device\\Harddisk49\\Partition14"},
+ {"/dev/sdax15", BRACK(FH_SDAX | 15), "\\Device\\Harddisk49\\Partition15"},
+ {"/dev/sday1", BRACK(FH_SDAY | 1), "\\Device\\Harddisk50\\Partition1"},
+ {"/dev/sday2", BRACK(FH_SDAY | 2), "\\Device\\Harddisk50\\Partition2"},
+ {"/dev/sday3", BRACK(FH_SDAY | 3), "\\Device\\Harddisk50\\Partition3"},
+ {"/dev/sday4", BRACK(FH_SDAY | 4), "\\Device\\Harddisk50\\Partition4"},
+ {"/dev/sday5", BRACK(FH_SDAY | 5), "\\Device\\Harddisk50\\Partition5"},
+ {"/dev/sday6", BRACK(FH_SDAY | 6), "\\Device\\Harddisk50\\Partition6"},
+ {"/dev/sday7", BRACK(FH_SDAY | 7), "\\Device\\Harddisk50\\Partition7"},
+ {"/dev/sday8", BRACK(FH_SDAY | 8), "\\Device\\Harddisk50\\Partition8"},
+ {"/dev/sday9", BRACK(FH_SDAY | 9), "\\Device\\Harddisk50\\Partition9"},
+ {"/dev/sday10", BRACK(FH_SDAY | 10), "\\Device\\Harddisk50\\Partition10"},
+ {"/dev/sday11", BRACK(FH_SDAY | 11), "\\Device\\Harddisk50\\Partition11"},
+ {"/dev/sday12", BRACK(FH_SDAY | 12), "\\Device\\Harddisk50\\Partition12"},
+ {"/dev/sday13", BRACK(FH_SDAY | 13), "\\Device\\Harddisk50\\Partition13"},
+ {"/dev/sday14", BRACK(FH_SDAY | 14), "\\Device\\Harddisk50\\Partition14"},
+ {"/dev/sday15", BRACK(FH_SDAY | 15), "\\Device\\Harddisk50\\Partition15"},
+ {"/dev/sdaz1", BRACK(FH_SDAZ | 1), "\\Device\\Harddisk51\\Partition1"},
+ {"/dev/sdaz2", BRACK(FH_SDAZ | 2), "\\Device\\Harddisk51\\Partition2"},
+ {"/dev/sdaz3", BRACK(FH_SDAZ | 3), "\\Device\\Harddisk51\\Partition3"},
+ {"/dev/sdaz4", BRACK(FH_SDAZ | 4), "\\Device\\Harddisk51\\Partition4"},
+ {"/dev/sdaz5", BRACK(FH_SDAZ | 5), "\\Device\\Harddisk51\\Partition5"},
+ {"/dev/sdaz6", BRACK(FH_SDAZ | 6), "\\Device\\Harddisk51\\Partition6"},
+ {"/dev/sdaz7", BRACK(FH_SDAZ | 7), "\\Device\\Harddisk51\\Partition7"},
+ {"/dev/sdaz8", BRACK(FH_SDAZ | 8), "\\Device\\Harddisk51\\Partition8"},
+ {"/dev/sdaz9", BRACK(FH_SDAZ | 9), "\\Device\\Harddisk51\\Partition9"},
+ {"/dev/sdaz10", BRACK(FH_SDAZ | 10), "\\Device\\Harddisk51\\Partition10"},
+ {"/dev/sdaz11", BRACK(FH_SDAZ | 11), "\\Device\\Harddisk51\\Partition11"},
+ {"/dev/sdaz12", BRACK(FH_SDAZ | 12), "\\Device\\Harddisk51\\Partition12"},
+ {"/dev/sdaz13", BRACK(FH_SDAZ | 13), "\\Device\\Harddisk51\\Partition13"},
+ {"/dev/sdaz14", BRACK(FH_SDAZ | 14), "\\Device\\Harddisk51\\Partition14"},
+ {"/dev/sdaz15", BRACK(FH_SDAZ | 15), "\\Device\\Harddisk51\\Partition15"},
+ {"/dev/sdba", BRACK(FH_SDBA), "\\Device\\Harddisk52\\Partition0"},
+ {"/dev/sdbb", BRACK(FH_SDBB), "\\Device\\Harddisk53\\Partition0"},
+ {"/dev/sdbc", BRACK(FH_SDBC), "\\Device\\Harddisk54\\Partition0"},
+ {"/dev/sdbd", BRACK(FH_SDBD), "\\Device\\Harddisk55\\Partition0"},
+ {"/dev/sdbe", BRACK(FH_SDBE), "\\Device\\Harddisk56\\Partition0"},
+ {"/dev/sdbf", BRACK(FH_SDBF), "\\Device\\Harddisk57\\Partition0"},
+ {"/dev/sdbg", BRACK(FH_SDBG), "\\Device\\Harddisk58\\Partition0"},
+ {"/dev/sdbh", BRACK(FH_SDBH), "\\Device\\Harddisk59\\Partition0"},
+ {"/dev/sdbi", BRACK(FH_SDBI), "\\Device\\Harddisk60\\Partition0"},
+ {"/dev/sdbj", BRACK(FH_SDBJ), "\\Device\\Harddisk61\\Partition0"},
+ {"/dev/sdbk", BRACK(FH_SDBK), "\\Device\\Harddisk62\\Partition0"},
+ {"/dev/sdbl", BRACK(FH_SDBL), "\\Device\\Harddisk63\\Partition0"},
+ {"/dev/sdbm", BRACK(FH_SDBM), "\\Device\\Harddisk64\\Partition0"},
+ {"/dev/sdbn", BRACK(FH_SDBN), "\\Device\\Harddisk65\\Partition0"},
+ {"/dev/sdbo", BRACK(FH_SDBO), "\\Device\\Harddisk66\\Partition0"},
+ {"/dev/sdbp", BRACK(FH_SDBP), "\\Device\\Harddisk67\\Partition0"},
+ {"/dev/sdbq", BRACK(FH_SDBQ), "\\Device\\Harddisk68\\Partition0"},
+ {"/dev/sdbr", BRACK(FH_SDBR), "\\Device\\Harddisk69\\Partition0"},
+ {"/dev/sdbs", BRACK(FH_SDBS), "\\Device\\Harddisk70\\Partition0"},
+ {"/dev/sdbt", BRACK(FH_SDBT), "\\Device\\Harddisk71\\Partition0"},
+ {"/dev/sdbu", BRACK(FH_SDBU), "\\Device\\Harddisk72\\Partition0"},
+ {"/dev/sdbv", BRACK(FH_SDBV), "\\Device\\Harddisk73\\Partition0"},
+ {"/dev/sdbw", BRACK(FH_SDBW), "\\Device\\Harddisk74\\Partition0"},
+ {"/dev/sdbx", BRACK(FH_SDBX), "\\Device\\Harddisk75\\Partition0"},
+ {"/dev/sdby", BRACK(FH_SDBY), "\\Device\\Harddisk76\\Partition0"},
+ {"/dev/sdbz", BRACK(FH_SDBZ), "\\Device\\Harddisk77\\Partition0"},
+ {"/dev/sdba1", BRACK(FH_SDBA | 1), "\\Device\\Harddisk52\\Partition1"},
+ {"/dev/sdba2", BRACK(FH_SDBA | 2), "\\Device\\Harddisk52\\Partition2"},
+ {"/dev/sdba3", BRACK(FH_SDBA | 3), "\\Device\\Harddisk52\\Partition3"},
+ {"/dev/sdba4", BRACK(FH_SDBA | 4), "\\Device\\Harddisk52\\Partition4"},
+ {"/dev/sdba5", BRACK(FH_SDBA | 5), "\\Device\\Harddisk52\\Partition5"},
+ {"/dev/sdba6", BRACK(FH_SDBA | 6), "\\Device\\Harddisk52\\Partition6"},
+ {"/dev/sdba7", BRACK(FH_SDBA | 7), "\\Device\\Harddisk52\\Partition7"},
+ {"/dev/sdba8", BRACK(FH_SDBA | 8), "\\Device\\Harddisk52\\Partition8"},
+ {"/dev/sdba9", BRACK(FH_SDBA | 9), "\\Device\\Harddisk52\\Partition9"},
+ {"/dev/sdba10", BRACK(FH_SDBA | 10), "\\Device\\Harddisk52\\Partition10"},
+ {"/dev/sdba11", BRACK(FH_SDBA | 11), "\\Device\\Harddisk52\\Partition11"},
+ {"/dev/sdba12", BRACK(FH_SDBA | 12), "\\Device\\Harddisk52\\Partition12"},
+ {"/dev/sdba13", BRACK(FH_SDBA | 13), "\\Device\\Harddisk52\\Partition13"},
+ {"/dev/sdba14", BRACK(FH_SDBA | 14), "\\Device\\Harddisk52\\Partition14"},
+ {"/dev/sdba15", BRACK(FH_SDBA | 15), "\\Device\\Harddisk52\\Partition15"},
+ {"/dev/sdbb1", BRACK(FH_SDBB | 1), "\\Device\\Harddisk53\\Partition1"},
+ {"/dev/sdbb2", BRACK(FH_SDBB | 2), "\\Device\\Harddisk53\\Partition2"},
+ {"/dev/sdbb3", BRACK(FH_SDBB | 3), "\\Device\\Harddisk53\\Partition3"},
+ {"/dev/sdbb4", BRACK(FH_SDBB | 4), "\\Device\\Harddisk53\\Partition4"},
+ {"/dev/sdbb5", BRACK(FH_SDBB | 5), "\\Device\\Harddisk53\\Partition5"},
+ {"/dev/sdbb6", BRACK(FH_SDBB | 6), "\\Device\\Harddisk53\\Partition6"},
+ {"/dev/sdbb7", BRACK(FH_SDBB | 7), "\\Device\\Harddisk53\\Partition7"},
+ {"/dev/sdbb8", BRACK(FH_SDBB | 8), "\\Device\\Harddisk53\\Partition8"},
+ {"/dev/sdbb9", BRACK(FH_SDBB | 9), "\\Device\\Harddisk53\\Partition9"},
+ {"/dev/sdbb10", BRACK(FH_SDBB | 10), "\\Device\\Harddisk53\\Partition10"},
+ {"/dev/sdbb11", BRACK(FH_SDBB | 11), "\\Device\\Harddisk53\\Partition11"},
+ {"/dev/sdbb12", BRACK(FH_SDBB | 12), "\\Device\\Harddisk53\\Partition12"},
+ {"/dev/sdbb13", BRACK(FH_SDBB | 13), "\\Device\\Harddisk53\\Partition13"},
+ {"/dev/sdbb14", BRACK(FH_SDBB | 14), "\\Device\\Harddisk53\\Partition14"},
+ {"/dev/sdbb15", BRACK(FH_SDBB | 15), "\\Device\\Harddisk53\\Partition15"},
+ {"/dev/sdbc1", BRACK(FH_SDBC | 1), "\\Device\\Harddisk54\\Partition1"},
+ {"/dev/sdbc2", BRACK(FH_SDBC | 2), "\\Device\\Harddisk54\\Partition2"},
+ {"/dev/sdbc3", BRACK(FH_SDBC | 3), "\\Device\\Harddisk54\\Partition3"},
+ {"/dev/sdbc4", BRACK(FH_SDBC | 4), "\\Device\\Harddisk54\\Partition4"},
+ {"/dev/sdbc5", BRACK(FH_SDBC | 5), "\\Device\\Harddisk54\\Partition5"},
+ {"/dev/sdbc6", BRACK(FH_SDBC | 6), "\\Device\\Harddisk54\\Partition6"},
+ {"/dev/sdbc7", BRACK(FH_SDBC | 7), "\\Device\\Harddisk54\\Partition7"},
+ {"/dev/sdbc8", BRACK(FH_SDBC | 8), "\\Device\\Harddisk54\\Partition8"},
+ {"/dev/sdbc9", BRACK(FH_SDBC | 9), "\\Device\\Harddisk54\\Partition9"},
+ {"/dev/sdbc10", BRACK(FH_SDBC | 10), "\\Device\\Harddisk54\\Partition10"},
+ {"/dev/sdbc11", BRACK(FH_SDBC | 11), "\\Device\\Harddisk54\\Partition11"},
+ {"/dev/sdbc12", BRACK(FH_SDBC | 12), "\\Device\\Harddisk54\\Partition12"},
+ {"/dev/sdbc13", BRACK(FH_SDBC | 13), "\\Device\\Harddisk54\\Partition13"},
+ {"/dev/sdbc14", BRACK(FH_SDBC | 14), "\\Device\\Harddisk54\\Partition14"},
+ {"/dev/sdbc15", BRACK(FH_SDBC | 15), "\\Device\\Harddisk54\\Partition15"},
+ {"/dev/sdbd1", BRACK(FH_SDBD | 1), "\\Device\\Harddisk55\\Partition1"},
+ {"/dev/sdbd2", BRACK(FH_SDBD | 2), "\\Device\\Harddisk55\\Partition2"},
+ {"/dev/sdbd3", BRACK(FH_SDBD | 3), "\\Device\\Harddisk55\\Partition3"},
+ {"/dev/sdbd4", BRACK(FH_SDBD | 4), "\\Device\\Harddisk55\\Partition4"},
+ {"/dev/sdbd5", BRACK(FH_SDBD | 5), "\\Device\\Harddisk55\\Partition5"},
+ {"/dev/sdbd6", BRACK(FH_SDBD | 6), "\\Device\\Harddisk55\\Partition6"},
+ {"/dev/sdbd7", BRACK(FH_SDBD | 7), "\\Device\\Harddisk55\\Partition7"},
+ {"/dev/sdbd8", BRACK(FH_SDBD | 8), "\\Device\\Harddisk55\\Partition8"},
+ {"/dev/sdbd9", BRACK(FH_SDBD | 9), "\\Device\\Harddisk55\\Partition9"},
+ {"/dev/sdbd10", BRACK(FH_SDBD | 10), "\\Device\\Harddisk55\\Partition10"},
+ {"/dev/sdbd11", BRACK(FH_SDBD | 11), "\\Device\\Harddisk55\\Partition11"},
+ {"/dev/sdbd12", BRACK(FH_SDBD | 12), "\\Device\\Harddisk55\\Partition12"},
+ {"/dev/sdbd13", BRACK(FH_SDBD | 13), "\\Device\\Harddisk55\\Partition13"},
+ {"/dev/sdbd14", BRACK(FH_SDBD | 14), "\\Device\\Harddisk55\\Partition14"},
+ {"/dev/sdbd15", BRACK(FH_SDBD | 15), "\\Device\\Harddisk55\\Partition15"},
+ {"/dev/sdbe1", BRACK(FH_SDBE | 1), "\\Device\\Harddisk56\\Partition1"},
+ {"/dev/sdbe2", BRACK(FH_SDBE | 2), "\\Device\\Harddisk56\\Partition2"},
+ {"/dev/sdbe3", BRACK(FH_SDBE | 3), "\\Device\\Harddisk56\\Partition3"},
+ {"/dev/sdbe4", BRACK(FH_SDBE | 4), "\\Device\\Harddisk56\\Partition4"},
+ {"/dev/sdbe5", BRACK(FH_SDBE | 5), "\\Device\\Harddisk56\\Partition5"},
+ {"/dev/sdbe6", BRACK(FH_SDBE | 6), "\\Device\\Harddisk56\\Partition6"},
+ {"/dev/sdbe7", BRACK(FH_SDBE | 7), "\\Device\\Harddisk56\\Partition7"},
+ {"/dev/sdbe8", BRACK(FH_SDBE | 8), "\\Device\\Harddisk56\\Partition8"},
+ {"/dev/sdbe9", BRACK(FH_SDBE | 9), "\\Device\\Harddisk56\\Partition9"},
+ {"/dev/sdbe10", BRACK(FH_SDBE | 10), "\\Device\\Harddisk56\\Partition10"},
+ {"/dev/sdbe11", BRACK(FH_SDBE | 11), "\\Device\\Harddisk56\\Partition11"},
+ {"/dev/sdbe12", BRACK(FH_SDBE | 12), "\\Device\\Harddisk56\\Partition12"},
+ {"/dev/sdbe13", BRACK(FH_SDBE | 13), "\\Device\\Harddisk56\\Partition13"},
+ {"/dev/sdbe14", BRACK(FH_SDBE | 14), "\\Device\\Harddisk56\\Partition14"},
+ {"/dev/sdbe15", BRACK(FH_SDBE | 15), "\\Device\\Harddisk56\\Partition15"},
+ {"/dev/sdbf1", BRACK(FH_SDBF | 1), "\\Device\\Harddisk57\\Partition1"},
+ {"/dev/sdbf2", BRACK(FH_SDBF | 2), "\\Device\\Harddisk57\\Partition2"},
+ {"/dev/sdbf3", BRACK(FH_SDBF | 3), "\\Device\\Harddisk57\\Partition3"},
+ {"/dev/sdbf4", BRACK(FH_SDBF | 4), "\\Device\\Harddisk57\\Partition4"},
+ {"/dev/sdbf5", BRACK(FH_SDBF | 5), "\\Device\\Harddisk57\\Partition5"},
+ {"/dev/sdbf6", BRACK(FH_SDBF | 6), "\\Device\\Harddisk57\\Partition6"},
+ {"/dev/sdbf7", BRACK(FH_SDBF | 7), "\\Device\\Harddisk57\\Partition7"},
+ {"/dev/sdbf8", BRACK(FH_SDBF | 8), "\\Device\\Harddisk57\\Partition8"},
+ {"/dev/sdbf9", BRACK(FH_SDBF | 9), "\\Device\\Harddisk57\\Partition9"},
+ {"/dev/sdbf10", BRACK(FH_SDBF | 10), "\\Device\\Harddisk57\\Partition10"},
+ {"/dev/sdbf11", BRACK(FH_SDBF | 11), "\\Device\\Harddisk57\\Partition11"},
+ {"/dev/sdbf12", BRACK(FH_SDBF | 12), "\\Device\\Harddisk57\\Partition12"},
+ {"/dev/sdbf13", BRACK(FH_SDBF | 13), "\\Device\\Harddisk57\\Partition13"},
+ {"/dev/sdbf14", BRACK(FH_SDBF | 14), "\\Device\\Harddisk57\\Partition14"},
+ {"/dev/sdbf15", BRACK(FH_SDBF | 15), "\\Device\\Harddisk57\\Partition15"},
+ {"/dev/sdbg1", BRACK(FH_SDBG | 1), "\\Device\\Harddisk58\\Partition1"},
+ {"/dev/sdbg2", BRACK(FH_SDBG | 2), "\\Device\\Harddisk58\\Partition2"},
+ {"/dev/sdbg3", BRACK(FH_SDBG | 3), "\\Device\\Harddisk58\\Partition3"},
+ {"/dev/sdbg4", BRACK(FH_SDBG | 4), "\\Device\\Harddisk58\\Partition4"},
+ {"/dev/sdbg5", BRACK(FH_SDBG | 5), "\\Device\\Harddisk58\\Partition5"},
+ {"/dev/sdbg6", BRACK(FH_SDBG | 6), "\\Device\\Harddisk58\\Partition6"},
+ {"/dev/sdbg7", BRACK(FH_SDBG | 7), "\\Device\\Harddisk58\\Partition7"},
+ {"/dev/sdbg8", BRACK(FH_SDBG | 8), "\\Device\\Harddisk58\\Partition8"},
+ {"/dev/sdbg9", BRACK(FH_SDBG | 9), "\\Device\\Harddisk58\\Partition9"},
+ {"/dev/sdbg10", BRACK(FH_SDBG | 10), "\\Device\\Harddisk58\\Partition10"},
+ {"/dev/sdbg11", BRACK(FH_SDBG | 11), "\\Device\\Harddisk58\\Partition11"},
+ {"/dev/sdbg12", BRACK(FH_SDBG | 12), "\\Device\\Harddisk58\\Partition12"},
+ {"/dev/sdbg13", BRACK(FH_SDBG | 13), "\\Device\\Harddisk58\\Partition13"},
+ {"/dev/sdbg14", BRACK(FH_SDBG | 14), "\\Device\\Harddisk58\\Partition14"},
+ {"/dev/sdbg15", BRACK(FH_SDBG | 15), "\\Device\\Harddisk58\\Partition15"},
+ {"/dev/sdbh1", BRACK(FH_SDBH | 1), "\\Device\\Harddisk59\\Partition1"},
+ {"/dev/sdbh2", BRACK(FH_SDBH | 2), "\\Device\\Harddisk59\\Partition2"},
+ {"/dev/sdbh3", BRACK(FH_SDBH | 3), "\\Device\\Harddisk59\\Partition3"},
+ {"/dev/sdbh4", BRACK(FH_SDBH | 4), "\\Device\\Harddisk59\\Partition4"},
+ {"/dev/sdbh5", BRACK(FH_SDBH | 5), "\\Device\\Harddisk59\\Partition5"},
+ {"/dev/sdbh6", BRACK(FH_SDBH | 6), "\\Device\\Harddisk59\\Partition6"},
+ {"/dev/sdbh7", BRACK(FH_SDBH | 7), "\\Device\\Harddisk59\\Partition7"},
+ {"/dev/sdbh8", BRACK(FH_SDBH | 8), "\\Device\\Harddisk59\\Partition8"},
+ {"/dev/sdbh9", BRACK(FH_SDBH | 9), "\\Device\\Harddisk59\\Partition9"},
+ {"/dev/sdbh10", BRACK(FH_SDBH | 10), "\\Device\\Harddisk59\\Partition10"},
+ {"/dev/sdbh11", BRACK(FH_SDBH | 11), "\\Device\\Harddisk59\\Partition11"},
+ {"/dev/sdbh12", BRACK(FH_SDBH | 12), "\\Device\\Harddisk59\\Partition12"},
+ {"/dev/sdbh13", BRACK(FH_SDBH | 13), "\\Device\\Harddisk59\\Partition13"},
+ {"/dev/sdbh14", BRACK(FH_SDBH | 14), "\\Device\\Harddisk59\\Partition14"},
+ {"/dev/sdbh15", BRACK(FH_SDBH | 15), "\\Device\\Harddisk59\\Partition15"},
+ {"/dev/sdbi1", BRACK(FH_SDBI | 1), "\\Device\\Harddisk60\\Partition1"},
+ {"/dev/sdbi2", BRACK(FH_SDBI | 2), "\\Device\\Harddisk60\\Partition2"},
+ {"/dev/sdbi3", BRACK(FH_SDBI | 3), "\\Device\\Harddisk60\\Partition3"},
+ {"/dev/sdbi4", BRACK(FH_SDBI | 4), "\\Device\\Harddisk60\\Partition4"},
+ {"/dev/sdbi5", BRACK(FH_SDBI | 5), "\\Device\\Harddisk60\\Partition5"},
+ {"/dev/sdbi6", BRACK(FH_SDBI | 6), "\\Device\\Harddisk60\\Partition6"},
+ {"/dev/sdbi7", BRACK(FH_SDBI | 7), "\\Device\\Harddisk60\\Partition7"},
+ {"/dev/sdbi8", BRACK(FH_SDBI | 8), "\\Device\\Harddisk60\\Partition8"},
+ {"/dev/sdbi9", BRACK(FH_SDBI | 9), "\\Device\\Harddisk60\\Partition9"},
+ {"/dev/sdbi10", BRACK(FH_SDBI | 10), "\\Device\\Harddisk60\\Partition10"},
+ {"/dev/sdbi11", BRACK(FH_SDBI | 11), "\\Device\\Harddisk60\\Partition11"},
+ {"/dev/sdbi12", BRACK(FH_SDBI | 12), "\\Device\\Harddisk60\\Partition12"},
+ {"/dev/sdbi13", BRACK(FH_SDBI | 13), "\\Device\\Harddisk60\\Partition13"},
+ {"/dev/sdbi14", BRACK(FH_SDBI | 14), "\\Device\\Harddisk60\\Partition14"},
+ {"/dev/sdbi15", BRACK(FH_SDBI | 15), "\\Device\\Harddisk60\\Partition15"},
+ {"/dev/sdbj1", BRACK(FH_SDBJ | 1), "\\Device\\Harddisk61\\Partition1"},
+ {"/dev/sdbj2", BRACK(FH_SDBJ | 2), "\\Device\\Harddisk61\\Partition2"},
+ {"/dev/sdbj3", BRACK(FH_SDBJ | 3), "\\Device\\Harddisk61\\Partition3"},
+ {"/dev/sdbj4", BRACK(FH_SDBJ | 4), "\\Device\\Harddisk61\\Partition4"},
+ {"/dev/sdbj5", BRACK(FH_SDBJ | 5), "\\Device\\Harddisk61\\Partition5"},
+ {"/dev/sdbj6", BRACK(FH_SDBJ | 6), "\\Device\\Harddisk61\\Partition6"},
+ {"/dev/sdbj7", BRACK(FH_SDBJ | 7), "\\Device\\Harddisk61\\Partition7"},
+ {"/dev/sdbj8", BRACK(FH_SDBJ | 8), "\\Device\\Harddisk61\\Partition8"},
+ {"/dev/sdbj9", BRACK(FH_SDBJ | 9), "\\Device\\Harddisk61\\Partition9"},
+ {"/dev/sdbj10", BRACK(FH_SDBJ | 10), "\\Device\\Harddisk61\\Partition10"},
+ {"/dev/sdbj11", BRACK(FH_SDBJ | 11), "\\Device\\Harddisk61\\Partition11"},
+ {"/dev/sdbj12", BRACK(FH_SDBJ | 12), "\\Device\\Harddisk61\\Partition12"},
+ {"/dev/sdbj13", BRACK(FH_SDBJ | 13), "\\Device\\Harddisk61\\Partition13"},
+ {"/dev/sdbj14", BRACK(FH_SDBJ | 14), "\\Device\\Harddisk61\\Partition14"},
+ {"/dev/sdbj15", BRACK(FH_SDBJ | 15), "\\Device\\Harddisk61\\Partition15"},
+ {"/dev/sdbk1", BRACK(FH_SDBK | 1), "\\Device\\Harddisk62\\Partition1"},
+ {"/dev/sdbk2", BRACK(FH_SDBK | 2), "\\Device\\Harddisk62\\Partition2"},
+ {"/dev/sdbk3", BRACK(FH_SDBK | 3), "\\Device\\Harddisk62\\Partition3"},
+ {"/dev/sdbk4", BRACK(FH_SDBK | 4), "\\Device\\Harddisk62\\Partition4"},
+ {"/dev/sdbk5", BRACK(FH_SDBK | 5), "\\Device\\Harddisk62\\Partition5"},
+ {"/dev/sdbk6", BRACK(FH_SDBK | 6), "\\Device\\Harddisk62\\Partition6"},
+ {"/dev/sdbk7", BRACK(FH_SDBK | 7), "\\Device\\Harddisk62\\Partition7"},
+ {"/dev/sdbk8", BRACK(FH_SDBK | 8), "\\Device\\Harddisk62\\Partition8"},
+ {"/dev/sdbk9", BRACK(FH_SDBK | 9), "\\Device\\Harddisk62\\Partition9"},
+ {"/dev/sdbk10", BRACK(FH_SDBK | 10), "\\Device\\Harddisk62\\Partition10"},
+ {"/dev/sdbk11", BRACK(FH_SDBK | 11), "\\Device\\Harddisk62\\Partition11"},
+ {"/dev/sdbk12", BRACK(FH_SDBK | 12), "\\Device\\Harddisk62\\Partition12"},
+ {"/dev/sdbk13", BRACK(FH_SDBK | 13), "\\Device\\Harddisk62\\Partition13"},
+ {"/dev/sdbk14", BRACK(FH_SDBK | 14), "\\Device\\Harddisk62\\Partition14"},
+ {"/dev/sdbk15", BRACK(FH_SDBK | 15), "\\Device\\Harddisk62\\Partition15"},
+ {"/dev/sdbl1", BRACK(FH_SDBL | 1), "\\Device\\Harddisk63\\Partition1"},
+ {"/dev/sdbl2", BRACK(FH_SDBL | 2), "\\Device\\Harddisk63\\Partition2"},
+ {"/dev/sdbl3", BRACK(FH_SDBL | 3), "\\Device\\Harddisk63\\Partition3"},
+ {"/dev/sdbl4", BRACK(FH_SDBL | 4), "\\Device\\Harddisk63\\Partition4"},
+ {"/dev/sdbl5", BRACK(FH_SDBL | 5), "\\Device\\Harddisk63\\Partition5"},
+ {"/dev/sdbl6", BRACK(FH_SDBL | 6), "\\Device\\Harddisk63\\Partition6"},
+ {"/dev/sdbl7", BRACK(FH_SDBL | 7), "\\Device\\Harddisk63\\Partition7"},
+ {"/dev/sdbl8", BRACK(FH_SDBL | 8), "\\Device\\Harddisk63\\Partition8"},
+ {"/dev/sdbl9", BRACK(FH_SDBL | 9), "\\Device\\Harddisk63\\Partition9"},
+ {"/dev/sdbl10", BRACK(FH_SDBL | 10), "\\Device\\Harddisk63\\Partition10"},
+ {"/dev/sdbl11", BRACK(FH_SDBL | 11), "\\Device\\Harddisk63\\Partition11"},
+ {"/dev/sdbl12", BRACK(FH_SDBL | 12), "\\Device\\Harddisk63\\Partition12"},
+ {"/dev/sdbl13", BRACK(FH_SDBL | 13), "\\Device\\Harddisk63\\Partition13"},
+ {"/dev/sdbl14", BRACK(FH_SDBL | 14), "\\Device\\Harddisk63\\Partition14"},
+ {"/dev/sdbl15", BRACK(FH_SDBL | 15), "\\Device\\Harddisk63\\Partition15"},
+ {"/dev/sdbm1", BRACK(FH_SDBM | 1), "\\Device\\Harddisk64\\Partition1"},
+ {"/dev/sdbm2", BRACK(FH_SDBM | 2), "\\Device\\Harddisk64\\Partition2"},
+ {"/dev/sdbm3", BRACK(FH_SDBM | 3), "\\Device\\Harddisk64\\Partition3"},
+ {"/dev/sdbm4", BRACK(FH_SDBM | 4), "\\Device\\Harddisk64\\Partition4"},
+ {"/dev/sdbm5", BRACK(FH_SDBM | 5), "\\Device\\Harddisk64\\Partition5"},
+ {"/dev/sdbm6", BRACK(FH_SDBM | 6), "\\Device\\Harddisk64\\Partition6"},
+ {"/dev/sdbm7", BRACK(FH_SDBM | 7), "\\Device\\Harddisk64\\Partition7"},
+ {"/dev/sdbm8", BRACK(FH_SDBM | 8), "\\Device\\Harddisk64\\Partition8"},
+ {"/dev/sdbm9", BRACK(FH_SDBM | 9), "\\Device\\Harddisk64\\Partition9"},
+ {"/dev/sdbm10", BRACK(FH_SDBM | 10), "\\Device\\Harddisk64\\Partition10"},
+ {"/dev/sdbm11", BRACK(FH_SDBM | 11), "\\Device\\Harddisk64\\Partition11"},
+ {"/dev/sdbm12", BRACK(FH_SDBM | 12), "\\Device\\Harddisk64\\Partition12"},
+ {"/dev/sdbm13", BRACK(FH_SDBM | 13), "\\Device\\Harddisk64\\Partition13"},
+ {"/dev/sdbm14", BRACK(FH_SDBM | 14), "\\Device\\Harddisk64\\Partition14"},
+ {"/dev/sdbm15", BRACK(FH_SDBM | 15), "\\Device\\Harddisk64\\Partition15"},
+ {"/dev/sdbn1", BRACK(FH_SDBN | 1), "\\Device\\Harddisk65\\Partition1"},
+ {"/dev/sdbn2", BRACK(FH_SDBN | 2), "\\Device\\Harddisk65\\Partition2"},
+ {"/dev/sdbn3", BRACK(FH_SDBN | 3), "\\Device\\Harddisk65\\Partition3"},
+ {"/dev/sdbn4", BRACK(FH_SDBN | 4), "\\Device\\Harddisk65\\Partition4"},
+ {"/dev/sdbn5", BRACK(FH_SDBN | 5), "\\Device\\Harddisk65\\Partition5"},
+ {"/dev/sdbn6", BRACK(FH_SDBN | 6), "\\Device\\Harddisk65\\Partition6"},
+ {"/dev/sdbn7", BRACK(FH_SDBN | 7), "\\Device\\Harddisk65\\Partition7"},
+ {"/dev/sdbn8", BRACK(FH_SDBN | 8), "\\Device\\Harddisk65\\Partition8"},
+ {"/dev/sdbn9", BRACK(FH_SDBN | 9), "\\Device\\Harddisk65\\Partition9"},
+ {"/dev/sdbn10", BRACK(FH_SDBN | 10), "\\Device\\Harddisk65\\Partition10"},
+ {"/dev/sdbn11", BRACK(FH_SDBN | 11), "\\Device\\Harddisk65\\Partition11"},
+ {"/dev/sdbn12", BRACK(FH_SDBN | 12), "\\Device\\Harddisk65\\Partition12"},
+ {"/dev/sdbn13", BRACK(FH_SDBN | 13), "\\Device\\Harddisk65\\Partition13"},
+ {"/dev/sdbn14", BRACK(FH_SDBN | 14), "\\Device\\Harddisk65\\Partition14"},
+ {"/dev/sdbn15", BRACK(FH_SDBN | 15), "\\Device\\Harddisk65\\Partition15"},
+ {"/dev/sdbo1", BRACK(FH_SDBO | 1), "\\Device\\Harddisk66\\Partition1"},
+ {"/dev/sdbo2", BRACK(FH_SDBO | 2), "\\Device\\Harddisk66\\Partition2"},
+ {"/dev/sdbo3", BRACK(FH_SDBO | 3), "\\Device\\Harddisk66\\Partition3"},
+ {"/dev/sdbo4", BRACK(FH_SDBO | 4), "\\Device\\Harddisk66\\Partition4"},
+ {"/dev/sdbo5", BRACK(FH_SDBO | 5), "\\Device\\Harddisk66\\Partition5"},
+ {"/dev/sdbo6", BRACK(FH_SDBO | 6), "\\Device\\Harddisk66\\Partition6"},
+ {"/dev/sdbo7", BRACK(FH_SDBO | 7), "\\Device\\Harddisk66\\Partition7"},
+ {"/dev/sdbo8", BRACK(FH_SDBO | 8), "\\Device\\Harddisk66\\Partition8"},
+ {"/dev/sdbo9", BRACK(FH_SDBO | 9), "\\Device\\Harddisk66\\Partition9"},
+ {"/dev/sdbo10", BRACK(FH_SDBO | 10), "\\Device\\Harddisk66\\Partition10"},
+ {"/dev/sdbo11", BRACK(FH_SDBO | 11), "\\Device\\Harddisk66\\Partition11"},
+ {"/dev/sdbo12", BRACK(FH_SDBO | 12), "\\Device\\Harddisk66\\Partition12"},
+ {"/dev/sdbo13", BRACK(FH_SDBO | 13), "\\Device\\Harddisk66\\Partition13"},
+ {"/dev/sdbo14", BRACK(FH_SDBO | 14), "\\Device\\Harddisk66\\Partition14"},
+ {"/dev/sdbo15", BRACK(FH_SDBO | 15), "\\Device\\Harddisk66\\Partition15"},
+ {"/dev/sdbp1", BRACK(FH_SDBP | 1), "\\Device\\Harddisk67\\Partition1"},
+ {"/dev/sdbp2", BRACK(FH_SDBP | 2), "\\Device\\Harddisk67\\Partition2"},
+ {"/dev/sdbp3", BRACK(FH_SDBP | 3), "\\Device\\Harddisk67\\Partition3"},
+ {"/dev/sdbp4", BRACK(FH_SDBP | 4), "\\Device\\Harddisk67\\Partition4"},
+ {"/dev/sdbp5", BRACK(FH_SDBP | 5), "\\Device\\Harddisk67\\Partition5"},
+ {"/dev/sdbp6", BRACK(FH_SDBP | 6), "\\Device\\Harddisk67\\Partition6"},
+ {"/dev/sdbp7", BRACK(FH_SDBP | 7), "\\Device\\Harddisk67\\Partition7"},
+ {"/dev/sdbp8", BRACK(FH_SDBP | 8), "\\Device\\Harddisk67\\Partition8"},
+ {"/dev/sdbp9", BRACK(FH_SDBP | 9), "\\Device\\Harddisk67\\Partition9"},
+ {"/dev/sdbp10", BRACK(FH_SDBP | 10), "\\Device\\Harddisk67\\Partition10"},
+ {"/dev/sdbp11", BRACK(FH_SDBP | 11), "\\Device\\Harddisk67\\Partition11"},
+ {"/dev/sdbp12", BRACK(FH_SDBP | 12), "\\Device\\Harddisk67\\Partition12"},
+ {"/dev/sdbp13", BRACK(FH_SDBP | 13), "\\Device\\Harddisk67\\Partition13"},
+ {"/dev/sdbp14", BRACK(FH_SDBP | 14), "\\Device\\Harddisk67\\Partition14"},
+ {"/dev/sdbp15", BRACK(FH_SDBP | 15), "\\Device\\Harddisk67\\Partition15"},
+ {"/dev/sdbq1", BRACK(FH_SDBQ | 1), "\\Device\\Harddisk68\\Partition1"},
+ {"/dev/sdbq2", BRACK(FH_SDBQ | 2), "\\Device\\Harddisk68\\Partition2"},
+ {"/dev/sdbq3", BRACK(FH_SDBQ | 3), "\\Device\\Harddisk68\\Partition3"},
+ {"/dev/sdbq4", BRACK(FH_SDBQ | 4), "\\Device\\Harddisk68\\Partition4"},
+ {"/dev/sdbq5", BRACK(FH_SDBQ | 5), "\\Device\\Harddisk68\\Partition5"},
+ {"/dev/sdbq6", BRACK(FH_SDBQ | 6), "\\Device\\Harddisk68\\Partition6"},
+ {"/dev/sdbq7", BRACK(FH_SDBQ | 7), "\\Device\\Harddisk68\\Partition7"},
+ {"/dev/sdbq8", BRACK(FH_SDBQ | 8), "\\Device\\Harddisk68\\Partition8"},
+ {"/dev/sdbq9", BRACK(FH_SDBQ | 9), "\\Device\\Harddisk68\\Partition9"},
+ {"/dev/sdbq10", BRACK(FH_SDBQ | 10), "\\Device\\Harddisk68\\Partition10"},
+ {"/dev/sdbq11", BRACK(FH_SDBQ | 11), "\\Device\\Harddisk68\\Partition11"},
+ {"/dev/sdbq12", BRACK(FH_SDBQ | 12), "\\Device\\Harddisk68\\Partition12"},
+ {"/dev/sdbq13", BRACK(FH_SDBQ | 13), "\\Device\\Harddisk68\\Partition13"},
+ {"/dev/sdbq14", BRACK(FH_SDBQ | 14), "\\Device\\Harddisk68\\Partition14"},
+ {"/dev/sdbq15", BRACK(FH_SDBQ | 15), "\\Device\\Harddisk68\\Partition15"},
+ {"/dev/sdbr1", BRACK(FH_SDBR | 1), "\\Device\\Harddisk69\\Partition1"},
+ {"/dev/sdbr2", BRACK(FH_SDBR | 2), "\\Device\\Harddisk69\\Partition2"},
+ {"/dev/sdbr3", BRACK(FH_SDBR | 3), "\\Device\\Harddisk69\\Partition3"},
+ {"/dev/sdbr4", BRACK(FH_SDBR | 4), "\\Device\\Harddisk69\\Partition4"},
+ {"/dev/sdbr5", BRACK(FH_SDBR | 5), "\\Device\\Harddisk69\\Partition5"},
+ {"/dev/sdbr6", BRACK(FH_SDBR | 6), "\\Device\\Harddisk69\\Partition6"},
+ {"/dev/sdbr7", BRACK(FH_SDBR | 7), "\\Device\\Harddisk69\\Partition7"},
+ {"/dev/sdbr8", BRACK(FH_SDBR | 8), "\\Device\\Harddisk69\\Partition8"},
+ {"/dev/sdbr9", BRACK(FH_SDBR | 9), "\\Device\\Harddisk69\\Partition9"},
+ {"/dev/sdbr10", BRACK(FH_SDBR | 10), "\\Device\\Harddisk69\\Partition10"},
+ {"/dev/sdbr11", BRACK(FH_SDBR | 11), "\\Device\\Harddisk69\\Partition11"},
+ {"/dev/sdbr12", BRACK(FH_SDBR | 12), "\\Device\\Harddisk69\\Partition12"},
+ {"/dev/sdbr13", BRACK(FH_SDBR | 13), "\\Device\\Harddisk69\\Partition13"},
+ {"/dev/sdbr14", BRACK(FH_SDBR | 14), "\\Device\\Harddisk69\\Partition14"},
+ {"/dev/sdbr15", BRACK(FH_SDBR | 15), "\\Device\\Harddisk69\\Partition15"},
+ {"/dev/sdbs1", BRACK(FH_SDBS | 1), "\\Device\\Harddisk70\\Partition1"},
+ {"/dev/sdbs2", BRACK(FH_SDBS | 2), "\\Device\\Harddisk70\\Partition2"},
+ {"/dev/sdbs3", BRACK(FH_SDBS | 3), "\\Device\\Harddisk70\\Partition3"},
+ {"/dev/sdbs4", BRACK(FH_SDBS | 4), "\\Device\\Harddisk70\\Partition4"},
+ {"/dev/sdbs5", BRACK(FH_SDBS | 5), "\\Device\\Harddisk70\\Partition5"},
+ {"/dev/sdbs6", BRACK(FH_SDBS | 6), "\\Device\\Harddisk70\\Partition6"},
+ {"/dev/sdbs7", BRACK(FH_SDBS | 7), "\\Device\\Harddisk70\\Partition7"},
+ {"/dev/sdbs8", BRACK(FH_SDBS | 8), "\\Device\\Harddisk70\\Partition8"},
+ {"/dev/sdbs9", BRACK(FH_SDBS | 9), "\\Device\\Harddisk70\\Partition9"},
+ {"/dev/sdbs10", BRACK(FH_SDBS | 10), "\\Device\\Harddisk70\\Partition10"},
+ {"/dev/sdbs11", BRACK(FH_SDBS | 11), "\\Device\\Harddisk70\\Partition11"},
+ {"/dev/sdbs12", BRACK(FH_SDBS | 12), "\\Device\\Harddisk70\\Partition12"},
+ {"/dev/sdbs13", BRACK(FH_SDBS | 13), "\\Device\\Harddisk70\\Partition13"},
+ {"/dev/sdbs14", BRACK(FH_SDBS | 14), "\\Device\\Harddisk70\\Partition14"},
+ {"/dev/sdbs15", BRACK(FH_SDBS | 15), "\\Device\\Harddisk70\\Partition15"},
+ {"/dev/sdbt1", BRACK(FH_SDBT | 1), "\\Device\\Harddisk71\\Partition1"},
+ {"/dev/sdbt2", BRACK(FH_SDBT | 2), "\\Device\\Harddisk71\\Partition2"},
+ {"/dev/sdbt3", BRACK(FH_SDBT | 3), "\\Device\\Harddisk71\\Partition3"},
+ {"/dev/sdbt4", BRACK(FH_SDBT | 4), "\\Device\\Harddisk71\\Partition4"},
+ {"/dev/sdbt5", BRACK(FH_SDBT | 5), "\\Device\\Harddisk71\\Partition5"},
+ {"/dev/sdbt6", BRACK(FH_SDBT | 6), "\\Device\\Harddisk71\\Partition6"},
+ {"/dev/sdbt7", BRACK(FH_SDBT | 7), "\\Device\\Harddisk71\\Partition7"},
+ {"/dev/sdbt8", BRACK(FH_SDBT | 8), "\\Device\\Harddisk71\\Partition8"},
+ {"/dev/sdbt9", BRACK(FH_SDBT | 9), "\\Device\\Harddisk71\\Partition9"},
+ {"/dev/sdbt10", BRACK(FH_SDBT | 10), "\\Device\\Harddisk71\\Partition10"},
+ {"/dev/sdbt11", BRACK(FH_SDBT | 11), "\\Device\\Harddisk71\\Partition11"},
+ {"/dev/sdbt12", BRACK(FH_SDBT | 12), "\\Device\\Harddisk71\\Partition12"},
+ {"/dev/sdbt13", BRACK(FH_SDBT | 13), "\\Device\\Harddisk71\\Partition13"},
+ {"/dev/sdbt14", BRACK(FH_SDBT | 14), "\\Device\\Harddisk71\\Partition14"},
+ {"/dev/sdbt15", BRACK(FH_SDBT | 15), "\\Device\\Harddisk71\\Partition15"},
+ {"/dev/sdbu1", BRACK(FH_SDBU | 1), "\\Device\\Harddisk72\\Partition1"},
+ {"/dev/sdbu2", BRACK(FH_SDBU | 2), "\\Device\\Harddisk72\\Partition2"},
+ {"/dev/sdbu3", BRACK(FH_SDBU | 3), "\\Device\\Harddisk72\\Partition3"},
+ {"/dev/sdbu4", BRACK(FH_SDBU | 4), "\\Device\\Harddisk72\\Partition4"},
+ {"/dev/sdbu5", BRACK(FH_SDBU | 5), "\\Device\\Harddisk72\\Partition5"},
+ {"/dev/sdbu6", BRACK(FH_SDBU | 6), "\\Device\\Harddisk72\\Partition6"},
+ {"/dev/sdbu7", BRACK(FH_SDBU | 7), "\\Device\\Harddisk72\\Partition7"},
+ {"/dev/sdbu8", BRACK(FH_SDBU | 8), "\\Device\\Harddisk72\\Partition8"},
+ {"/dev/sdbu9", BRACK(FH_SDBU | 9), "\\Device\\Harddisk72\\Partition9"},
+ {"/dev/sdbu10", BRACK(FH_SDBU | 10), "\\Device\\Harddisk72\\Partition10"},
+ {"/dev/sdbu11", BRACK(FH_SDBU | 11), "\\Device\\Harddisk72\\Partition11"},
+ {"/dev/sdbu12", BRACK(FH_SDBU | 12), "\\Device\\Harddisk72\\Partition12"},
+ {"/dev/sdbu13", BRACK(FH_SDBU | 13), "\\Device\\Harddisk72\\Partition13"},
+ {"/dev/sdbu14", BRACK(FH_SDBU | 14), "\\Device\\Harddisk72\\Partition14"},
+ {"/dev/sdbu15", BRACK(FH_SDBU | 15), "\\Device\\Harddisk72\\Partition15"},
+ {"/dev/sdbv1", BRACK(FH_SDBV | 1), "\\Device\\Harddisk73\\Partition1"},
+ {"/dev/sdbv2", BRACK(FH_SDBV | 2), "\\Device\\Harddisk73\\Partition2"},
+ {"/dev/sdbv3", BRACK(FH_SDBV | 3), "\\Device\\Harddisk73\\Partition3"},
+ {"/dev/sdbv4", BRACK(FH_SDBV | 4), "\\Device\\Harddisk73\\Partition4"},
+ {"/dev/sdbv5", BRACK(FH_SDBV | 5), "\\Device\\Harddisk73\\Partition5"},
+ {"/dev/sdbv6", BRACK(FH_SDBV | 6), "\\Device\\Harddisk73\\Partition6"},
+ {"/dev/sdbv7", BRACK(FH_SDBV | 7), "\\Device\\Harddisk73\\Partition7"},
+ {"/dev/sdbv8", BRACK(FH_SDBV | 8), "\\Device\\Harddisk73\\Partition8"},
+ {"/dev/sdbv9", BRACK(FH_SDBV | 9), "\\Device\\Harddisk73\\Partition9"},
+ {"/dev/sdbv10", BRACK(FH_SDBV | 10), "\\Device\\Harddisk73\\Partition10"},
+ {"/dev/sdbv11", BRACK(FH_SDBV | 11), "\\Device\\Harddisk73\\Partition11"},
+ {"/dev/sdbv12", BRACK(FH_SDBV | 12), "\\Device\\Harddisk73\\Partition12"},
+ {"/dev/sdbv13", BRACK(FH_SDBV | 13), "\\Device\\Harddisk73\\Partition13"},
+ {"/dev/sdbv14", BRACK(FH_SDBV | 14), "\\Device\\Harddisk73\\Partition14"},
+ {"/dev/sdbv15", BRACK(FH_SDBV | 15), "\\Device\\Harddisk73\\Partition15"},
+ {"/dev/sdbw1", BRACK(FH_SDBW | 1), "\\Device\\Harddisk74\\Partition1"},
+ {"/dev/sdbw2", BRACK(FH_SDBW | 2), "\\Device\\Harddisk74\\Partition2"},
+ {"/dev/sdbw3", BRACK(FH_SDBW | 3), "\\Device\\Harddisk74\\Partition3"},
+ {"/dev/sdbw4", BRACK(FH_SDBW | 4), "\\Device\\Harddisk74\\Partition4"},
+ {"/dev/sdbw5", BRACK(FH_SDBW | 5), "\\Device\\Harddisk74\\Partition5"},
+ {"/dev/sdbw6", BRACK(FH_SDBW | 6), "\\Device\\Harddisk74\\Partition6"},
+ {"/dev/sdbw7", BRACK(FH_SDBW | 7), "\\Device\\Harddisk74\\Partition7"},
+ {"/dev/sdbw8", BRACK(FH_SDBW | 8), "\\Device\\Harddisk74\\Partition8"},
+ {"/dev/sdbw9", BRACK(FH_SDBW | 9), "\\Device\\Harddisk74\\Partition9"},
+ {"/dev/sdbw10", BRACK(FH_SDBW | 10), "\\Device\\Harddisk74\\Partition10"},
+ {"/dev/sdbw11", BRACK(FH_SDBW | 11), "\\Device\\Harddisk74\\Partition11"},
+ {"/dev/sdbw12", BRACK(FH_SDBW | 12), "\\Device\\Harddisk74\\Partition12"},
+ {"/dev/sdbw13", BRACK(FH_SDBW | 13), "\\Device\\Harddisk74\\Partition13"},
+ {"/dev/sdbw14", BRACK(FH_SDBW | 14), "\\Device\\Harddisk74\\Partition14"},
+ {"/dev/sdbw15", BRACK(FH_SDBW | 15), "\\Device\\Harddisk74\\Partition15"},
+ {"/dev/sdbx1", BRACK(FH_SDBX | 1), "\\Device\\Harddisk75\\Partition1"},
+ {"/dev/sdbx2", BRACK(FH_SDBX | 2), "\\Device\\Harddisk75\\Partition2"},
+ {"/dev/sdbx3", BRACK(FH_SDBX | 3), "\\Device\\Harddisk75\\Partition3"},
+ {"/dev/sdbx4", BRACK(FH_SDBX | 4), "\\Device\\Harddisk75\\Partition4"},
+ {"/dev/sdbx5", BRACK(FH_SDBX | 5), "\\Device\\Harddisk75\\Partition5"},
+ {"/dev/sdbx6", BRACK(FH_SDBX | 6), "\\Device\\Harddisk75\\Partition6"},
+ {"/dev/sdbx7", BRACK(FH_SDBX | 7), "\\Device\\Harddisk75\\Partition7"},
+ {"/dev/sdbx8", BRACK(FH_SDBX | 8), "\\Device\\Harddisk75\\Partition8"},
+ {"/dev/sdbx9", BRACK(FH_SDBX | 9), "\\Device\\Harddisk75\\Partition9"},
+ {"/dev/sdbx10", BRACK(FH_SDBX | 10), "\\Device\\Harddisk75\\Partition10"},
+ {"/dev/sdbx11", BRACK(FH_SDBX | 11), "\\Device\\Harddisk75\\Partition11"},
+ {"/dev/sdbx12", BRACK(FH_SDBX | 12), "\\Device\\Harddisk75\\Partition12"},
+ {"/dev/sdbx13", BRACK(FH_SDBX | 13), "\\Device\\Harddisk75\\Partition13"},
+ {"/dev/sdbx14", BRACK(FH_SDBX | 14), "\\Device\\Harddisk75\\Partition14"},
+ {"/dev/sdbx15", BRACK(FH_SDBX | 15), "\\Device\\Harddisk75\\Partition15"},
+ {"/dev/sdby1", BRACK(FH_SDBY | 1), "\\Device\\Harddisk76\\Partition1"},
+ {"/dev/sdby2", BRACK(FH_SDBY | 2), "\\Device\\Harddisk76\\Partition2"},
+ {"/dev/sdby3", BRACK(FH_SDBY | 3), "\\Device\\Harddisk76\\Partition3"},
+ {"/dev/sdby4", BRACK(FH_SDBY | 4), "\\Device\\Harddisk76\\Partition4"},
+ {"/dev/sdby5", BRACK(FH_SDBY | 5), "\\Device\\Harddisk76\\Partition5"},
+ {"/dev/sdby6", BRACK(FH_SDBY | 6), "\\Device\\Harddisk76\\Partition6"},
+ {"/dev/sdby7", BRACK(FH_SDBY | 7), "\\Device\\Harddisk76\\Partition7"},
+ {"/dev/sdby8", BRACK(FH_SDBY | 8), "\\Device\\Harddisk76\\Partition8"},
+ {"/dev/sdby9", BRACK(FH_SDBY | 9), "\\Device\\Harddisk76\\Partition9"},
+ {"/dev/sdby10", BRACK(FH_SDBY | 10), "\\Device\\Harddisk76\\Partition10"},
+ {"/dev/sdby11", BRACK(FH_SDBY | 11), "\\Device\\Harddisk76\\Partition11"},
+ {"/dev/sdby12", BRACK(FH_SDBY | 12), "\\Device\\Harddisk76\\Partition12"},
+ {"/dev/sdby13", BRACK(FH_SDBY | 13), "\\Device\\Harddisk76\\Partition13"},
+ {"/dev/sdby14", BRACK(FH_SDBY | 14), "\\Device\\Harddisk76\\Partition14"},
+ {"/dev/sdby15", BRACK(FH_SDBY | 15), "\\Device\\Harddisk76\\Partition15"},
+ {"/dev/sdbz1", BRACK(FH_SDBZ | 1), "\\Device\\Harddisk77\\Partition1"},
+ {"/dev/sdbz2", BRACK(FH_SDBZ | 2), "\\Device\\Harddisk77\\Partition2"},
+ {"/dev/sdbz3", BRACK(FH_SDBZ | 3), "\\Device\\Harddisk77\\Partition3"},
+ {"/dev/sdbz4", BRACK(FH_SDBZ | 4), "\\Device\\Harddisk77\\Partition4"},
+ {"/dev/sdbz5", BRACK(FH_SDBZ | 5), "\\Device\\Harddisk77\\Partition5"},
+ {"/dev/sdbz6", BRACK(FH_SDBZ | 6), "\\Device\\Harddisk77\\Partition6"},
+ {"/dev/sdbz7", BRACK(FH_SDBZ | 7), "\\Device\\Harddisk77\\Partition7"},
+ {"/dev/sdbz8", BRACK(FH_SDBZ | 8), "\\Device\\Harddisk77\\Partition8"},
+ {"/dev/sdbz9", BRACK(FH_SDBZ | 9), "\\Device\\Harddisk77\\Partition9"},
+ {"/dev/sdbz10", BRACK(FH_SDBZ | 10), "\\Device\\Harddisk77\\Partition10"},
+ {"/dev/sdbz11", BRACK(FH_SDBZ | 11), "\\Device\\Harddisk77\\Partition11"},
+ {"/dev/sdbz12", BRACK(FH_SDBZ | 12), "\\Device\\Harddisk77\\Partition12"},
+ {"/dev/sdbz13", BRACK(FH_SDBZ | 13), "\\Device\\Harddisk77\\Partition13"},
+ {"/dev/sdbz14", BRACK(FH_SDBZ | 14), "\\Device\\Harddisk77\\Partition14"},
+ {"/dev/sdbz15", BRACK(FH_SDBZ | 15), "\\Device\\Harddisk77\\Partition15"},
+ {"/dev/sdca", BRACK(FH_SDCA), "\\Device\\Harddisk78\\Partition0"},
+ {"/dev/sdcb", BRACK(FH_SDCB), "\\Device\\Harddisk79\\Partition0"},
+ {"/dev/sdcc", BRACK(FH_SDCC), "\\Device\\Harddisk80\\Partition0"},
+ {"/dev/sdcd", BRACK(FH_SDCD), "\\Device\\Harddisk81\\Partition0"},
+ {"/dev/sdce", BRACK(FH_SDCE), "\\Device\\Harddisk82\\Partition0"},
+ {"/dev/sdcf", BRACK(FH_SDCF), "\\Device\\Harddisk83\\Partition0"},
+ {"/dev/sdcg", BRACK(FH_SDCG), "\\Device\\Harddisk84\\Partition0"},
+ {"/dev/sdch", BRACK(FH_SDCH), "\\Device\\Harddisk85\\Partition0"},
+ {"/dev/sdci", BRACK(FH_SDCI), "\\Device\\Harddisk86\\Partition0"},
+ {"/dev/sdcj", BRACK(FH_SDCJ), "\\Device\\Harddisk87\\Partition0"},
+ {"/dev/sdck", BRACK(FH_SDCK), "\\Device\\Harddisk88\\Partition0"},
+ {"/dev/sdcl", BRACK(FH_SDCL), "\\Device\\Harddisk89\\Partition0"},
+ {"/dev/sdcm", BRACK(FH_SDCM), "\\Device\\Harddisk90\\Partition0"},
+ {"/dev/sdcn", BRACK(FH_SDCN), "\\Device\\Harddisk91\\Partition0"},
+ {"/dev/sdco", BRACK(FH_SDCO), "\\Device\\Harddisk92\\Partition0"},
+ {"/dev/sdcp", BRACK(FH_SDCP), "\\Device\\Harddisk93\\Partition0"},
+ {"/dev/sdcq", BRACK(FH_SDCQ), "\\Device\\Harddisk94\\Partition0"},
+ {"/dev/sdcr", BRACK(FH_SDCR), "\\Device\\Harddisk95\\Partition0"},
+ {"/dev/sdcs", BRACK(FH_SDCS), "\\Device\\Harddisk96\\Partition0"},
+ {"/dev/sdct", BRACK(FH_SDCT), "\\Device\\Harddisk97\\Partition0"},
+ {"/dev/sdcu", BRACK(FH_SDCU), "\\Device\\Harddisk98\\Partition0"},
+ {"/dev/sdcv", BRACK(FH_SDCV), "\\Device\\Harddisk99\\Partition0"},
+ {"/dev/sdcw", BRACK(FH_SDCW), "\\Device\\Harddisk100\\Partition0"},
+ {"/dev/sdcx", BRACK(FH_SDCX), "\\Device\\Harddisk101\\Partition0"},
+ {"/dev/sdcy", BRACK(FH_SDCY), "\\Device\\Harddisk102\\Partition0"},
+ {"/dev/sdcz", BRACK(FH_SDCZ), "\\Device\\Harddisk103\\Partition0"},
+ {"/dev/sdca1", BRACK(FH_SDCA | 1), "\\Device\\Harddisk78\\Partition1"},
+ {"/dev/sdca2", BRACK(FH_SDCA | 2), "\\Device\\Harddisk78\\Partition2"},
+ {"/dev/sdca3", BRACK(FH_SDCA | 3), "\\Device\\Harddisk78\\Partition3"},
+ {"/dev/sdca4", BRACK(FH_SDCA | 4), "\\Device\\Harddisk78\\Partition4"},
+ {"/dev/sdca5", BRACK(FH_SDCA | 5), "\\Device\\Harddisk78\\Partition5"},
+ {"/dev/sdca6", BRACK(FH_SDCA | 6), "\\Device\\Harddisk78\\Partition6"},
+ {"/dev/sdca7", BRACK(FH_SDCA | 7), "\\Device\\Harddisk78\\Partition7"},
+ {"/dev/sdca8", BRACK(FH_SDCA | 8), "\\Device\\Harddisk78\\Partition8"},
+ {"/dev/sdca9", BRACK(FH_SDCA | 9), "\\Device\\Harddisk78\\Partition9"},
+ {"/dev/sdca10", BRACK(FH_SDCA | 10), "\\Device\\Harddisk78\\Partition10"},
+ {"/dev/sdca11", BRACK(FH_SDCA | 11), "\\Device\\Harddisk78\\Partition11"},
+ {"/dev/sdca12", BRACK(FH_SDCA | 12), "\\Device\\Harddisk78\\Partition12"},
+ {"/dev/sdca13", BRACK(FH_SDCA | 13), "\\Device\\Harddisk78\\Partition13"},
+ {"/dev/sdca14", BRACK(FH_SDCA | 14), "\\Device\\Harddisk78\\Partition14"},
+ {"/dev/sdca15", BRACK(FH_SDCA | 15), "\\Device\\Harddisk78\\Partition15"},
+ {"/dev/sdcb1", BRACK(FH_SDCB | 1), "\\Device\\Harddisk79\\Partition1"},
+ {"/dev/sdcb2", BRACK(FH_SDCB | 2), "\\Device\\Harddisk79\\Partition2"},
+ {"/dev/sdcb3", BRACK(FH_SDCB | 3), "\\Device\\Harddisk79\\Partition3"},
+ {"/dev/sdcb4", BRACK(FH_SDCB | 4), "\\Device\\Harddisk79\\Partition4"},
+ {"/dev/sdcb5", BRACK(FH_SDCB | 5), "\\Device\\Harddisk79\\Partition5"},
+ {"/dev/sdcb6", BRACK(FH_SDCB | 6), "\\Device\\Harddisk79\\Partition6"},
+ {"/dev/sdcb7", BRACK(FH_SDCB | 7), "\\Device\\Harddisk79\\Partition7"},
+ {"/dev/sdcb8", BRACK(FH_SDCB | 8), "\\Device\\Harddisk79\\Partition8"},
+ {"/dev/sdcb9", BRACK(FH_SDCB | 9), "\\Device\\Harddisk79\\Partition9"},
+ {"/dev/sdcb10", BRACK(FH_SDCB | 10), "\\Device\\Harddisk79\\Partition10"},
+ {"/dev/sdcb11", BRACK(FH_SDCB | 11), "\\Device\\Harddisk79\\Partition11"},
+ {"/dev/sdcb12", BRACK(FH_SDCB | 12), "\\Device\\Harddisk79\\Partition12"},
+ {"/dev/sdcb13", BRACK(FH_SDCB | 13), "\\Device\\Harddisk79\\Partition13"},
+ {"/dev/sdcb14", BRACK(FH_SDCB | 14), "\\Device\\Harddisk79\\Partition14"},
+ {"/dev/sdcb15", BRACK(FH_SDCB | 15), "\\Device\\Harddisk79\\Partition15"},
+ {"/dev/sdcc1", BRACK(FH_SDCC | 1), "\\Device\\Harddisk80\\Partition1"},
+ {"/dev/sdcc2", BRACK(FH_SDCC | 2), "\\Device\\Harddisk80\\Partition2"},
+ {"/dev/sdcc3", BRACK(FH_SDCC | 3), "\\Device\\Harddisk80\\Partition3"},
+ {"/dev/sdcc4", BRACK(FH_SDCC | 4), "\\Device\\Harddisk80\\Partition4"},
+ {"/dev/sdcc5", BRACK(FH_SDCC | 5), "\\Device\\Harddisk80\\Partition5"},
+ {"/dev/sdcc6", BRACK(FH_SDCC | 6), "\\Device\\Harddisk80\\Partition6"},
+ {"/dev/sdcc7", BRACK(FH_SDCC | 7), "\\Device\\Harddisk80\\Partition7"},
+ {"/dev/sdcc8", BRACK(FH_SDCC | 8), "\\Device\\Harddisk80\\Partition8"},
+ {"/dev/sdcc9", BRACK(FH_SDCC | 9), "\\Device\\Harddisk80\\Partition9"},
+ {"/dev/sdcc10", BRACK(FH_SDCC | 10), "\\Device\\Harddisk80\\Partition10"},
+ {"/dev/sdcc11", BRACK(FH_SDCC | 11), "\\Device\\Harddisk80\\Partition11"},
+ {"/dev/sdcc12", BRACK(FH_SDCC | 12), "\\Device\\Harddisk80\\Partition12"},
+ {"/dev/sdcc13", BRACK(FH_SDCC | 13), "\\Device\\Harddisk80\\Partition13"},
+ {"/dev/sdcc14", BRACK(FH_SDCC | 14), "\\Device\\Harddisk80\\Partition14"},
+ {"/dev/sdcc15", BRACK(FH_SDCC | 15), "\\Device\\Harddisk80\\Partition15"},
+ {"/dev/sdcd1", BRACK(FH_SDCD | 1), "\\Device\\Harddisk81\\Partition1"},
+ {"/dev/sdcd2", BRACK(FH_SDCD | 2), "\\Device\\Harddisk81\\Partition2"},
+ {"/dev/sdcd3", BRACK(FH_SDCD | 3), "\\Device\\Harddisk81\\Partition3"},
+ {"/dev/sdcd4", BRACK(FH_SDCD | 4), "\\Device\\Harddisk81\\Partition4"},
+ {"/dev/sdcd5", BRACK(FH_SDCD | 5), "\\Device\\Harddisk81\\Partition5"},
+ {"/dev/sdcd6", BRACK(FH_SDCD | 6), "\\Device\\Harddisk81\\Partition6"},
+ {"/dev/sdcd7", BRACK(FH_SDCD | 7), "\\Device\\Harddisk81\\Partition7"},
+ {"/dev/sdcd8", BRACK(FH_SDCD | 8), "\\Device\\Harddisk81\\Partition8"},
+ {"/dev/sdcd9", BRACK(FH_SDCD | 9), "\\Device\\Harddisk81\\Partition9"},
+ {"/dev/sdcd10", BRACK(FH_SDCD | 10), "\\Device\\Harddisk81\\Partition10"},
+ {"/dev/sdcd11", BRACK(FH_SDCD | 11), "\\Device\\Harddisk81\\Partition11"},
+ {"/dev/sdcd12", BRACK(FH_SDCD | 12), "\\Device\\Harddisk81\\Partition12"},
+ {"/dev/sdcd13", BRACK(FH_SDCD | 13), "\\Device\\Harddisk81\\Partition13"},
+ {"/dev/sdcd14", BRACK(FH_SDCD | 14), "\\Device\\Harddisk81\\Partition14"},
+ {"/dev/sdcd15", BRACK(FH_SDCD | 15), "\\Device\\Harddisk81\\Partition15"},
+ {"/dev/sdce1", BRACK(FH_SDCE | 1), "\\Device\\Harddisk82\\Partition1"},
+ {"/dev/sdce2", BRACK(FH_SDCE | 2), "\\Device\\Harddisk82\\Partition2"},
+ {"/dev/sdce3", BRACK(FH_SDCE | 3), "\\Device\\Harddisk82\\Partition3"},
+ {"/dev/sdce4", BRACK(FH_SDCE | 4), "\\Device\\Harddisk82\\Partition4"},
+ {"/dev/sdce5", BRACK(FH_SDCE | 5), "\\Device\\Harddisk82\\Partition5"},
+ {"/dev/sdce6", BRACK(FH_SDCE | 6), "\\Device\\Harddisk82\\Partition6"},
+ {"/dev/sdce7", BRACK(FH_SDCE | 7), "\\Device\\Harddisk82\\Partition7"},
+ {"/dev/sdce8", BRACK(FH_SDCE | 8), "\\Device\\Harddisk82\\Partition8"},
+ {"/dev/sdce9", BRACK(FH_SDCE | 9), "\\Device\\Harddisk82\\Partition9"},
+ {"/dev/sdce10", BRACK(FH_SDCE | 10), "\\Device\\Harddisk82\\Partition10"},
+ {"/dev/sdce11", BRACK(FH_SDCE | 11), "\\Device\\Harddisk82\\Partition11"},
+ {"/dev/sdce12", BRACK(FH_SDCE | 12), "\\Device\\Harddisk82\\Partition12"},
+ {"/dev/sdce13", BRACK(FH_SDCE | 13), "\\Device\\Harddisk82\\Partition13"},
+ {"/dev/sdce14", BRACK(FH_SDCE | 14), "\\Device\\Harddisk82\\Partition14"},
+ {"/dev/sdce15", BRACK(FH_SDCE | 15), "\\Device\\Harddisk82\\Partition15"},
+ {"/dev/sdcf1", BRACK(FH_SDCF | 1), "\\Device\\Harddisk83\\Partition1"},
+ {"/dev/sdcf2", BRACK(FH_SDCF | 2), "\\Device\\Harddisk83\\Partition2"},
+ {"/dev/sdcf3", BRACK(FH_SDCF | 3), "\\Device\\Harddisk83\\Partition3"},
+ {"/dev/sdcf4", BRACK(FH_SDCF | 4), "\\Device\\Harddisk83\\Partition4"},
+ {"/dev/sdcf5", BRACK(FH_SDCF | 5), "\\Device\\Harddisk83\\Partition5"},
+ {"/dev/sdcf6", BRACK(FH_SDCF | 6), "\\Device\\Harddisk83\\Partition6"},
+ {"/dev/sdcf7", BRACK(FH_SDCF | 7), "\\Device\\Harddisk83\\Partition7"},
+ {"/dev/sdcf8", BRACK(FH_SDCF | 8), "\\Device\\Harddisk83\\Partition8"},
+ {"/dev/sdcf9", BRACK(FH_SDCF | 9), "\\Device\\Harddisk83\\Partition9"},
+ {"/dev/sdcf10", BRACK(FH_SDCF | 10), "\\Device\\Harddisk83\\Partition10"},
+ {"/dev/sdcf11", BRACK(FH_SDCF | 11), "\\Device\\Harddisk83\\Partition11"},
+ {"/dev/sdcf12", BRACK(FH_SDCF | 12), "\\Device\\Harddisk83\\Partition12"},
+ {"/dev/sdcf13", BRACK(FH_SDCF | 13), "\\Device\\Harddisk83\\Partition13"},
+ {"/dev/sdcf14", BRACK(FH_SDCF | 14), "\\Device\\Harddisk83\\Partition14"},
+ {"/dev/sdcf15", BRACK(FH_SDCF | 15), "\\Device\\Harddisk83\\Partition15"},
+ {"/dev/sdcg1", BRACK(FH_SDCG | 1), "\\Device\\Harddisk84\\Partition1"},
+ {"/dev/sdcg2", BRACK(FH_SDCG | 2), "\\Device\\Harddisk84\\Partition2"},
+ {"/dev/sdcg3", BRACK(FH_SDCG | 3), "\\Device\\Harddisk84\\Partition3"},
+ {"/dev/sdcg4", BRACK(FH_SDCG | 4), "\\Device\\Harddisk84\\Partition4"},
+ {"/dev/sdcg5", BRACK(FH_SDCG | 5), "\\Device\\Harddisk84\\Partition5"},
+ {"/dev/sdcg6", BRACK(FH_SDCG | 6), "\\Device\\Harddisk84\\Partition6"},
+ {"/dev/sdcg7", BRACK(FH_SDCG | 7), "\\Device\\Harddisk84\\Partition7"},
+ {"/dev/sdcg8", BRACK(FH_SDCG | 8), "\\Device\\Harddisk84\\Partition8"},
+ {"/dev/sdcg9", BRACK(FH_SDCG | 9), "\\Device\\Harddisk84\\Partition9"},
+ {"/dev/sdcg10", BRACK(FH_SDCG | 10), "\\Device\\Harddisk84\\Partition10"},
+ {"/dev/sdcg11", BRACK(FH_SDCG | 11), "\\Device\\Harddisk84\\Partition11"},
+ {"/dev/sdcg12", BRACK(FH_SDCG | 12), "\\Device\\Harddisk84\\Partition12"},
+ {"/dev/sdcg13", BRACK(FH_SDCG | 13), "\\Device\\Harddisk84\\Partition13"},
+ {"/dev/sdcg14", BRACK(FH_SDCG | 14), "\\Device\\Harddisk84\\Partition14"},
+ {"/dev/sdcg15", BRACK(FH_SDCG | 15), "\\Device\\Harddisk84\\Partition15"},
+ {"/dev/sdch1", BRACK(FH_SDCH | 1), "\\Device\\Harddisk85\\Partition1"},
+ {"/dev/sdch2", BRACK(FH_SDCH | 2), "\\Device\\Harddisk85\\Partition2"},
+ {"/dev/sdch3", BRACK(FH_SDCH | 3), "\\Device\\Harddisk85\\Partition3"},
+ {"/dev/sdch4", BRACK(FH_SDCH | 4), "\\Device\\Harddisk85\\Partition4"},
+ {"/dev/sdch5", BRACK(FH_SDCH | 5), "\\Device\\Harddisk85\\Partition5"},
+ {"/dev/sdch6", BRACK(FH_SDCH | 6), "\\Device\\Harddisk85\\Partition6"},
+ {"/dev/sdch7", BRACK(FH_SDCH | 7), "\\Device\\Harddisk85\\Partition7"},
+ {"/dev/sdch8", BRACK(FH_SDCH | 8), "\\Device\\Harddisk85\\Partition8"},
+ {"/dev/sdch9", BRACK(FH_SDCH | 9), "\\Device\\Harddisk85\\Partition9"},
+ {"/dev/sdch10", BRACK(FH_SDCH | 10), "\\Device\\Harddisk85\\Partition10"},
+ {"/dev/sdch11", BRACK(FH_SDCH | 11), "\\Device\\Harddisk85\\Partition11"},
+ {"/dev/sdch12", BRACK(FH_SDCH | 12), "\\Device\\Harddisk85\\Partition12"},
+ {"/dev/sdch13", BRACK(FH_SDCH | 13), "\\Device\\Harddisk85\\Partition13"},
+ {"/dev/sdch14", BRACK(FH_SDCH | 14), "\\Device\\Harddisk85\\Partition14"},
+ {"/dev/sdch15", BRACK(FH_SDCH | 15), "\\Device\\Harddisk85\\Partition15"},
+ {"/dev/sdci1", BRACK(FH_SDCI | 1), "\\Device\\Harddisk86\\Partition1"},
+ {"/dev/sdci2", BRACK(FH_SDCI | 2), "\\Device\\Harddisk86\\Partition2"},
+ {"/dev/sdci3", BRACK(FH_SDCI | 3), "\\Device\\Harddisk86\\Partition3"},
+ {"/dev/sdci4", BRACK(FH_SDCI | 4), "\\Device\\Harddisk86\\Partition4"},
+ {"/dev/sdci5", BRACK(FH_SDCI | 5), "\\Device\\Harddisk86\\Partition5"},
+ {"/dev/sdci6", BRACK(FH_SDCI | 6), "\\Device\\Harddisk86\\Partition6"},
+ {"/dev/sdci7", BRACK(FH_SDCI | 7), "\\Device\\Harddisk86\\Partition7"},
+ {"/dev/sdci8", BRACK(FH_SDCI | 8), "\\Device\\Harddisk86\\Partition8"},
+ {"/dev/sdci9", BRACK(FH_SDCI | 9), "\\Device\\Harddisk86\\Partition9"},
+ {"/dev/sdci10", BRACK(FH_SDCI | 10), "\\Device\\Harddisk86\\Partition10"},
+ {"/dev/sdci11", BRACK(FH_SDCI | 11), "\\Device\\Harddisk86\\Partition11"},
+ {"/dev/sdci12", BRACK(FH_SDCI | 12), "\\Device\\Harddisk86\\Partition12"},
+ {"/dev/sdci13", BRACK(FH_SDCI | 13), "\\Device\\Harddisk86\\Partition13"},
+ {"/dev/sdci14", BRACK(FH_SDCI | 14), "\\Device\\Harddisk86\\Partition14"},
+ {"/dev/sdci15", BRACK(FH_SDCI | 15), "\\Device\\Harddisk86\\Partition15"},
+ {"/dev/sdcj1", BRACK(FH_SDCJ | 1), "\\Device\\Harddisk87\\Partition1"},
+ {"/dev/sdcj2", BRACK(FH_SDCJ | 2), "\\Device\\Harddisk87\\Partition2"},
+ {"/dev/sdcj3", BRACK(FH_SDCJ | 3), "\\Device\\Harddisk87\\Partition3"},
+ {"/dev/sdcj4", BRACK(FH_SDCJ | 4), "\\Device\\Harddisk87\\Partition4"},
+ {"/dev/sdcj5", BRACK(FH_SDCJ | 5), "\\Device\\Harddisk87\\Partition5"},
+ {"/dev/sdcj6", BRACK(FH_SDCJ | 6), "\\Device\\Harddisk87\\Partition6"},
+ {"/dev/sdcj7", BRACK(FH_SDCJ | 7), "\\Device\\Harddisk87\\Partition7"},
+ {"/dev/sdcj8", BRACK(FH_SDCJ | 8), "\\Device\\Harddisk87\\Partition8"},
+ {"/dev/sdcj9", BRACK(FH_SDCJ | 9), "\\Device\\Harddisk87\\Partition9"},
+ {"/dev/sdcj10", BRACK(FH_SDCJ | 10), "\\Device\\Harddisk87\\Partition10"},
+ {"/dev/sdcj11", BRACK(FH_SDCJ | 11), "\\Device\\Harddisk87\\Partition11"},
+ {"/dev/sdcj12", BRACK(FH_SDCJ | 12), "\\Device\\Harddisk87\\Partition12"},
+ {"/dev/sdcj13", BRACK(FH_SDCJ | 13), "\\Device\\Harddisk87\\Partition13"},
+ {"/dev/sdcj14", BRACK(FH_SDCJ | 14), "\\Device\\Harddisk87\\Partition14"},
+ {"/dev/sdcj15", BRACK(FH_SDCJ | 15), "\\Device\\Harddisk87\\Partition15"},
+ {"/dev/sdck1", BRACK(FH_SDCK | 1), "\\Device\\Harddisk88\\Partition1"},
+ {"/dev/sdck2", BRACK(FH_SDCK | 2), "\\Device\\Harddisk88\\Partition2"},
+ {"/dev/sdck3", BRACK(FH_SDCK | 3), "\\Device\\Harddisk88\\Partition3"},
+ {"/dev/sdck4", BRACK(FH_SDCK | 4), "\\Device\\Harddisk88\\Partition4"},
+ {"/dev/sdck5", BRACK(FH_SDCK | 5), "\\Device\\Harddisk88\\Partition5"},
+ {"/dev/sdck6", BRACK(FH_SDCK | 6), "\\Device\\Harddisk88\\Partition6"},
+ {"/dev/sdck7", BRACK(FH_SDCK | 7), "\\Device\\Harddisk88\\Partition7"},
+ {"/dev/sdck8", BRACK(FH_SDCK | 8), "\\Device\\Harddisk88\\Partition8"},
+ {"/dev/sdck9", BRACK(FH_SDCK | 9), "\\Device\\Harddisk88\\Partition9"},
+ {"/dev/sdck10", BRACK(FH_SDCK | 10), "\\Device\\Harddisk88\\Partition10"},
+ {"/dev/sdck11", BRACK(FH_SDCK | 11), "\\Device\\Harddisk88\\Partition11"},
+ {"/dev/sdck12", BRACK(FH_SDCK | 12), "\\Device\\Harddisk88\\Partition12"},
+ {"/dev/sdck13", BRACK(FH_SDCK | 13), "\\Device\\Harddisk88\\Partition13"},
+ {"/dev/sdck14", BRACK(FH_SDCK | 14), "\\Device\\Harddisk88\\Partition14"},
+ {"/dev/sdck15", BRACK(FH_SDCK | 15), "\\Device\\Harddisk88\\Partition15"},
+ {"/dev/sdcl1", BRACK(FH_SDCL | 1), "\\Device\\Harddisk89\\Partition1"},
+ {"/dev/sdcl2", BRACK(FH_SDCL | 2), "\\Device\\Harddisk89\\Partition2"},
+ {"/dev/sdcl3", BRACK(FH_SDCL | 3), "\\Device\\Harddisk89\\Partition3"},
+ {"/dev/sdcl4", BRACK(FH_SDCL | 4), "\\Device\\Harddisk89\\Partition4"},
+ {"/dev/sdcl5", BRACK(FH_SDCL | 5), "\\Device\\Harddisk89\\Partition5"},
+ {"/dev/sdcl6", BRACK(FH_SDCL | 6), "\\Device\\Harddisk89\\Partition6"},
+ {"/dev/sdcl7", BRACK(FH_SDCL | 7), "\\Device\\Harddisk89\\Partition7"},
+ {"/dev/sdcl8", BRACK(FH_SDCL | 8), "\\Device\\Harddisk89\\Partition8"},
+ {"/dev/sdcl9", BRACK(FH_SDCL | 9), "\\Device\\Harddisk89\\Partition9"},
+ {"/dev/sdcl10", BRACK(FH_SDCL | 10), "\\Device\\Harddisk89\\Partition10"},
+ {"/dev/sdcl11", BRACK(FH_SDCL | 11), "\\Device\\Harddisk89\\Partition11"},
+ {"/dev/sdcl12", BRACK(FH_SDCL | 12), "\\Device\\Harddisk89\\Partition12"},
+ {"/dev/sdcl13", BRACK(FH_SDCL | 13), "\\Device\\Harddisk89\\Partition13"},
+ {"/dev/sdcl14", BRACK(FH_SDCL | 14), "\\Device\\Harddisk89\\Partition14"},
+ {"/dev/sdcl15", BRACK(FH_SDCL | 15), "\\Device\\Harddisk89\\Partition15"},
+ {"/dev/sdcm1", BRACK(FH_SDCM | 1), "\\Device\\Harddisk90\\Partition1"},
+ {"/dev/sdcm2", BRACK(FH_SDCM | 2), "\\Device\\Harddisk90\\Partition2"},
+ {"/dev/sdcm3", BRACK(FH_SDCM | 3), "\\Device\\Harddisk90\\Partition3"},
+ {"/dev/sdcm4", BRACK(FH_SDCM | 4), "\\Device\\Harddisk90\\Partition4"},
+ {"/dev/sdcm5", BRACK(FH_SDCM | 5), "\\Device\\Harddisk90\\Partition5"},
+ {"/dev/sdcm6", BRACK(FH_SDCM | 6), "\\Device\\Harddisk90\\Partition6"},
+ {"/dev/sdcm7", BRACK(FH_SDCM | 7), "\\Device\\Harddisk90\\Partition7"},
+ {"/dev/sdcm8", BRACK(FH_SDCM | 8), "\\Device\\Harddisk90\\Partition8"},
+ {"/dev/sdcm9", BRACK(FH_SDCM | 9), "\\Device\\Harddisk90\\Partition9"},
+ {"/dev/sdcm10", BRACK(FH_SDCM | 10), "\\Device\\Harddisk90\\Partition10"},
+ {"/dev/sdcm11", BRACK(FH_SDCM | 11), "\\Device\\Harddisk90\\Partition11"},
+ {"/dev/sdcm12", BRACK(FH_SDCM | 12), "\\Device\\Harddisk90\\Partition12"},
+ {"/dev/sdcm13", BRACK(FH_SDCM | 13), "\\Device\\Harddisk90\\Partition13"},
+ {"/dev/sdcm14", BRACK(FH_SDCM | 14), "\\Device\\Harddisk90\\Partition14"},
+ {"/dev/sdcm15", BRACK(FH_SDCM | 15), "\\Device\\Harddisk90\\Partition15"},
+ {"/dev/sdcn1", BRACK(FH_SDCN | 1), "\\Device\\Harddisk91\\Partition1"},
+ {"/dev/sdcn2", BRACK(FH_SDCN | 2), "\\Device\\Harddisk91\\Partition2"},
+ {"/dev/sdcn3", BRACK(FH_SDCN | 3), "\\Device\\Harddisk91\\Partition3"},
+ {"/dev/sdcn4", BRACK(FH_SDCN | 4), "\\Device\\Harddisk91\\Partition4"},
+ {"/dev/sdcn5", BRACK(FH_SDCN | 5), "\\Device\\Harddisk91\\Partition5"},
+ {"/dev/sdcn6", BRACK(FH_SDCN | 6), "\\Device\\Harddisk91\\Partition6"},
+ {"/dev/sdcn7", BRACK(FH_SDCN | 7), "\\Device\\Harddisk91\\Partition7"},
+ {"/dev/sdcn8", BRACK(FH_SDCN | 8), "\\Device\\Harddisk91\\Partition8"},
+ {"/dev/sdcn9", BRACK(FH_SDCN | 9), "\\Device\\Harddisk91\\Partition9"},
+ {"/dev/sdcn10", BRACK(FH_SDCN | 10), "\\Device\\Harddisk91\\Partition10"},
+ {"/dev/sdcn11", BRACK(FH_SDCN | 11), "\\Device\\Harddisk91\\Partition11"},
+ {"/dev/sdcn12", BRACK(FH_SDCN | 12), "\\Device\\Harddisk91\\Partition12"},
+ {"/dev/sdcn13", BRACK(FH_SDCN | 13), "\\Device\\Harddisk91\\Partition13"},
+ {"/dev/sdcn14", BRACK(FH_SDCN | 14), "\\Device\\Harddisk91\\Partition14"},
+ {"/dev/sdcn15", BRACK(FH_SDCN | 15), "\\Device\\Harddisk91\\Partition15"},
+ {"/dev/sdco1", BRACK(FH_SDCO | 1), "\\Device\\Harddisk92\\Partition1"},
+ {"/dev/sdco2", BRACK(FH_SDCO | 2), "\\Device\\Harddisk92\\Partition2"},
+ {"/dev/sdco3", BRACK(FH_SDCO | 3), "\\Device\\Harddisk92\\Partition3"},
+ {"/dev/sdco4", BRACK(FH_SDCO | 4), "\\Device\\Harddisk92\\Partition4"},
+ {"/dev/sdco5", BRACK(FH_SDCO | 5), "\\Device\\Harddisk92\\Partition5"},
+ {"/dev/sdco6", BRACK(FH_SDCO | 6), "\\Device\\Harddisk92\\Partition6"},
+ {"/dev/sdco7", BRACK(FH_SDCO | 7), "\\Device\\Harddisk92\\Partition7"},
+ {"/dev/sdco8", BRACK(FH_SDCO | 8), "\\Device\\Harddisk92\\Partition8"},
+ {"/dev/sdco9", BRACK(FH_SDCO | 9), "\\Device\\Harddisk92\\Partition9"},
+ {"/dev/sdco10", BRACK(FH_SDCO | 10), "\\Device\\Harddisk92\\Partition10"},
+ {"/dev/sdco11", BRACK(FH_SDCO | 11), "\\Device\\Harddisk92\\Partition11"},
+ {"/dev/sdco12", BRACK(FH_SDCO | 12), "\\Device\\Harddisk92\\Partition12"},
+ {"/dev/sdco13", BRACK(FH_SDCO | 13), "\\Device\\Harddisk92\\Partition13"},
+ {"/dev/sdco14", BRACK(FH_SDCO | 14), "\\Device\\Harddisk92\\Partition14"},
+ {"/dev/sdco15", BRACK(FH_SDCO | 15), "\\Device\\Harddisk92\\Partition15"},
+ {"/dev/sdcp1", BRACK(FH_SDCP | 1), "\\Device\\Harddisk93\\Partition1"},
+ {"/dev/sdcp2", BRACK(FH_SDCP | 2), "\\Device\\Harddisk93\\Partition2"},
+ {"/dev/sdcp3", BRACK(FH_SDCP | 3), "\\Device\\Harddisk93\\Partition3"},
+ {"/dev/sdcp4", BRACK(FH_SDCP | 4), "\\Device\\Harddisk93\\Partition4"},
+ {"/dev/sdcp5", BRACK(FH_SDCP | 5), "\\Device\\Harddisk93\\Partition5"},
+ {"/dev/sdcp6", BRACK(FH_SDCP | 6), "\\Device\\Harddisk93\\Partition6"},
+ {"/dev/sdcp7", BRACK(FH_SDCP | 7), "\\Device\\Harddisk93\\Partition7"},
+ {"/dev/sdcp8", BRACK(FH_SDCP | 8), "\\Device\\Harddisk93\\Partition8"},
+ {"/dev/sdcp9", BRACK(FH_SDCP | 9), "\\Device\\Harddisk93\\Partition9"},
+ {"/dev/sdcp10", BRACK(FH_SDCP | 10), "\\Device\\Harddisk93\\Partition10"},
+ {"/dev/sdcp11", BRACK(FH_SDCP | 11), "\\Device\\Harddisk93\\Partition11"},
+ {"/dev/sdcp12", BRACK(FH_SDCP | 12), "\\Device\\Harddisk93\\Partition12"},
+ {"/dev/sdcp13", BRACK(FH_SDCP | 13), "\\Device\\Harddisk93\\Partition13"},
+ {"/dev/sdcp14", BRACK(FH_SDCP | 14), "\\Device\\Harddisk93\\Partition14"},
+ {"/dev/sdcp15", BRACK(FH_SDCP | 15), "\\Device\\Harddisk93\\Partition15"},
+ {"/dev/sdcq1", BRACK(FH_SDCQ | 1), "\\Device\\Harddisk94\\Partition1"},
+ {"/dev/sdcq2", BRACK(FH_SDCQ | 2), "\\Device\\Harddisk94\\Partition2"},
+ {"/dev/sdcq3", BRACK(FH_SDCQ | 3), "\\Device\\Harddisk94\\Partition3"},
+ {"/dev/sdcq4", BRACK(FH_SDCQ | 4), "\\Device\\Harddisk94\\Partition4"},
+ {"/dev/sdcq5", BRACK(FH_SDCQ | 5), "\\Device\\Harddisk94\\Partition5"},
+ {"/dev/sdcq6", BRACK(FH_SDCQ | 6), "\\Device\\Harddisk94\\Partition6"},
+ {"/dev/sdcq7", BRACK(FH_SDCQ | 7), "\\Device\\Harddisk94\\Partition7"},
+ {"/dev/sdcq8", BRACK(FH_SDCQ | 8), "\\Device\\Harddisk94\\Partition8"},
+ {"/dev/sdcq9", BRACK(FH_SDCQ | 9), "\\Device\\Harddisk94\\Partition9"},
+ {"/dev/sdcq10", BRACK(FH_SDCQ | 10), "\\Device\\Harddisk94\\Partition10"},
+ {"/dev/sdcq11", BRACK(FH_SDCQ | 11), "\\Device\\Harddisk94\\Partition11"},
+ {"/dev/sdcq12", BRACK(FH_SDCQ | 12), "\\Device\\Harddisk94\\Partition12"},
+ {"/dev/sdcq13", BRACK(FH_SDCQ | 13), "\\Device\\Harddisk94\\Partition13"},
+ {"/dev/sdcq14", BRACK(FH_SDCQ | 14), "\\Device\\Harddisk94\\Partition14"},
+ {"/dev/sdcq15", BRACK(FH_SDCQ | 15), "\\Device\\Harddisk94\\Partition15"},
+ {"/dev/sdcr1", BRACK(FH_SDCR | 1), "\\Device\\Harddisk95\\Partition1"},
+ {"/dev/sdcr2", BRACK(FH_SDCR | 2), "\\Device\\Harddisk95\\Partition2"},
+ {"/dev/sdcr3", BRACK(FH_SDCR | 3), "\\Device\\Harddisk95\\Partition3"},
+ {"/dev/sdcr4", BRACK(FH_SDCR | 4), "\\Device\\Harddisk95\\Partition4"},
+ {"/dev/sdcr5", BRACK(FH_SDCR | 5), "\\Device\\Harddisk95\\Partition5"},
+ {"/dev/sdcr6", BRACK(FH_SDCR | 6), "\\Device\\Harddisk95\\Partition6"},
+ {"/dev/sdcr7", BRACK(FH_SDCR | 7), "\\Device\\Harddisk95\\Partition7"},
+ {"/dev/sdcr8", BRACK(FH_SDCR | 8), "\\Device\\Harddisk95\\Partition8"},
+ {"/dev/sdcr9", BRACK(FH_SDCR | 9), "\\Device\\Harddisk95\\Partition9"},
+ {"/dev/sdcr10", BRACK(FH_SDCR | 10), "\\Device\\Harddisk95\\Partition10"},
+ {"/dev/sdcr11", BRACK(FH_SDCR | 11), "\\Device\\Harddisk95\\Partition11"},
+ {"/dev/sdcr12", BRACK(FH_SDCR | 12), "\\Device\\Harddisk95\\Partition12"},
+ {"/dev/sdcr13", BRACK(FH_SDCR | 13), "\\Device\\Harddisk95\\Partition13"},
+ {"/dev/sdcr14", BRACK(FH_SDCR | 14), "\\Device\\Harddisk95\\Partition14"},
+ {"/dev/sdcr15", BRACK(FH_SDCR | 15), "\\Device\\Harddisk95\\Partition15"},
+ {"/dev/sdcs1", BRACK(FH_SDCS | 1), "\\Device\\Harddisk96\\Partition1"},
+ {"/dev/sdcs2", BRACK(FH_SDCS | 2), "\\Device\\Harddisk96\\Partition2"},
+ {"/dev/sdcs3", BRACK(FH_SDCS | 3), "\\Device\\Harddisk96\\Partition3"},
+ {"/dev/sdcs4", BRACK(FH_SDCS | 4), "\\Device\\Harddisk96\\Partition4"},
+ {"/dev/sdcs5", BRACK(FH_SDCS | 5), "\\Device\\Harddisk96\\Partition5"},
+ {"/dev/sdcs6", BRACK(FH_SDCS | 6), "\\Device\\Harddisk96\\Partition6"},
+ {"/dev/sdcs7", BRACK(FH_SDCS | 7), "\\Device\\Harddisk96\\Partition7"},
+ {"/dev/sdcs8", BRACK(FH_SDCS | 8), "\\Device\\Harddisk96\\Partition8"},
+ {"/dev/sdcs9", BRACK(FH_SDCS | 9), "\\Device\\Harddisk96\\Partition9"},
+ {"/dev/sdcs10", BRACK(FH_SDCS | 10), "\\Device\\Harddisk96\\Partition10"},
+ {"/dev/sdcs11", BRACK(FH_SDCS | 11), "\\Device\\Harddisk96\\Partition11"},
+ {"/dev/sdcs12", BRACK(FH_SDCS | 12), "\\Device\\Harddisk96\\Partition12"},
+ {"/dev/sdcs13", BRACK(FH_SDCS | 13), "\\Device\\Harddisk96\\Partition13"},
+ {"/dev/sdcs14", BRACK(FH_SDCS | 14), "\\Device\\Harddisk96\\Partition14"},
+ {"/dev/sdcs15", BRACK(FH_SDCS | 15), "\\Device\\Harddisk96\\Partition15"},
+ {"/dev/sdct1", BRACK(FH_SDCT | 1), "\\Device\\Harddisk97\\Partition1"},
+ {"/dev/sdct2", BRACK(FH_SDCT | 2), "\\Device\\Harddisk97\\Partition2"},
+ {"/dev/sdct3", BRACK(FH_SDCT | 3), "\\Device\\Harddisk97\\Partition3"},
+ {"/dev/sdct4", BRACK(FH_SDCT | 4), "\\Device\\Harddisk97\\Partition4"},
+ {"/dev/sdct5", BRACK(FH_SDCT | 5), "\\Device\\Harddisk97\\Partition5"},
+ {"/dev/sdct6", BRACK(FH_SDCT | 6), "\\Device\\Harddisk97\\Partition6"},
+ {"/dev/sdct7", BRACK(FH_SDCT | 7), "\\Device\\Harddisk97\\Partition7"},
+ {"/dev/sdct8", BRACK(FH_SDCT | 8), "\\Device\\Harddisk97\\Partition8"},
+ {"/dev/sdct9", BRACK(FH_SDCT | 9), "\\Device\\Harddisk97\\Partition9"},
+ {"/dev/sdct10", BRACK(FH_SDCT | 10), "\\Device\\Harddisk97\\Partition10"},
+ {"/dev/sdct11", BRACK(FH_SDCT | 11), "\\Device\\Harddisk97\\Partition11"},
+ {"/dev/sdct12", BRACK(FH_SDCT | 12), "\\Device\\Harddisk97\\Partition12"},
+ {"/dev/sdct13", BRACK(FH_SDCT | 13), "\\Device\\Harddisk97\\Partition13"},
+ {"/dev/sdct14", BRACK(FH_SDCT | 14), "\\Device\\Harddisk97\\Partition14"},
+ {"/dev/sdct15", BRACK(FH_SDCT | 15), "\\Device\\Harddisk97\\Partition15"},
+ {"/dev/sdcu1", BRACK(FH_SDCU | 1), "\\Device\\Harddisk98\\Partition1"},
+ {"/dev/sdcu2", BRACK(FH_SDCU | 2), "\\Device\\Harddisk98\\Partition2"},
+ {"/dev/sdcu3", BRACK(FH_SDCU | 3), "\\Device\\Harddisk98\\Partition3"},
+ {"/dev/sdcu4", BRACK(FH_SDCU | 4), "\\Device\\Harddisk98\\Partition4"},
+ {"/dev/sdcu5", BRACK(FH_SDCU | 5), "\\Device\\Harddisk98\\Partition5"},
+ {"/dev/sdcu6", BRACK(FH_SDCU | 6), "\\Device\\Harddisk98\\Partition6"},
+ {"/dev/sdcu7", BRACK(FH_SDCU | 7), "\\Device\\Harddisk98\\Partition7"},
+ {"/dev/sdcu8", BRACK(FH_SDCU | 8), "\\Device\\Harddisk98\\Partition8"},
+ {"/dev/sdcu9", BRACK(FH_SDCU | 9), "\\Device\\Harddisk98\\Partition9"},
+ {"/dev/sdcu10", BRACK(FH_SDCU | 10), "\\Device\\Harddisk98\\Partition10"},
+ {"/dev/sdcu11", BRACK(FH_SDCU | 11), "\\Device\\Harddisk98\\Partition11"},
+ {"/dev/sdcu12", BRACK(FH_SDCU | 12), "\\Device\\Harddisk98\\Partition12"},
+ {"/dev/sdcu13", BRACK(FH_SDCU | 13), "\\Device\\Harddisk98\\Partition13"},
+ {"/dev/sdcu14", BRACK(FH_SDCU | 14), "\\Device\\Harddisk98\\Partition14"},
+ {"/dev/sdcu15", BRACK(FH_SDCU | 15), "\\Device\\Harddisk98\\Partition15"},
+ {"/dev/sdcv1", BRACK(FH_SDCV | 1), "\\Device\\Harddisk99\\Partition1"},
+ {"/dev/sdcv2", BRACK(FH_SDCV | 2), "\\Device\\Harddisk99\\Partition2"},
+ {"/dev/sdcv3", BRACK(FH_SDCV | 3), "\\Device\\Harddisk99\\Partition3"},
+ {"/dev/sdcv4", BRACK(FH_SDCV | 4), "\\Device\\Harddisk99\\Partition4"},
+ {"/dev/sdcv5", BRACK(FH_SDCV | 5), "\\Device\\Harddisk99\\Partition5"},
+ {"/dev/sdcv6", BRACK(FH_SDCV | 6), "\\Device\\Harddisk99\\Partition6"},
+ {"/dev/sdcv7", BRACK(FH_SDCV | 7), "\\Device\\Harddisk99\\Partition7"},
+ {"/dev/sdcv8", BRACK(FH_SDCV | 8), "\\Device\\Harddisk99\\Partition8"},
+ {"/dev/sdcv9", BRACK(FH_SDCV | 9), "\\Device\\Harddisk99\\Partition9"},
+ {"/dev/sdcv10", BRACK(FH_SDCV | 10), "\\Device\\Harddisk99\\Partition10"},
+ {"/dev/sdcv11", BRACK(FH_SDCV | 11), "\\Device\\Harddisk99\\Partition11"},
+ {"/dev/sdcv12", BRACK(FH_SDCV | 12), "\\Device\\Harddisk99\\Partition12"},
+ {"/dev/sdcv13", BRACK(FH_SDCV | 13), "\\Device\\Harddisk99\\Partition13"},
+ {"/dev/sdcv14", BRACK(FH_SDCV | 14), "\\Device\\Harddisk99\\Partition14"},
+ {"/dev/sdcv15", BRACK(FH_SDCV | 15), "\\Device\\Harddisk99\\Partition15"},
+ {"/dev/sdcw1", BRACK(FH_SDCW | 1), "\\Device\\Harddisk100\\Partition1"},
+ {"/dev/sdcw2", BRACK(FH_SDCW | 2), "\\Device\\Harddisk100\\Partition2"},
+ {"/dev/sdcw3", BRACK(FH_SDCW | 3), "\\Device\\Harddisk100\\Partition3"},
+ {"/dev/sdcw4", BRACK(FH_SDCW | 4), "\\Device\\Harddisk100\\Partition4"},
+ {"/dev/sdcw5", BRACK(FH_SDCW | 5), "\\Device\\Harddisk100\\Partition5"},
+ {"/dev/sdcw6", BRACK(FH_SDCW | 6), "\\Device\\Harddisk100\\Partition6"},
+ {"/dev/sdcw7", BRACK(FH_SDCW | 7), "\\Device\\Harddisk100\\Partition7"},
+ {"/dev/sdcw8", BRACK(FH_SDCW | 8), "\\Device\\Harddisk100\\Partition8"},
+ {"/dev/sdcw9", BRACK(FH_SDCW | 9), "\\Device\\Harddisk100\\Partition9"},
+ {"/dev/sdcw10", BRACK(FH_SDCW | 10), "\\Device\\Harddisk100\\Partition10"},
+ {"/dev/sdcw11", BRACK(FH_SDCW | 11), "\\Device\\Harddisk100\\Partition11"},
+ {"/dev/sdcw12", BRACK(FH_SDCW | 12), "\\Device\\Harddisk100\\Partition12"},
+ {"/dev/sdcw13", BRACK(FH_SDCW | 13), "\\Device\\Harddisk100\\Partition13"},
+ {"/dev/sdcw14", BRACK(FH_SDCW | 14), "\\Device\\Harddisk100\\Partition14"},
+ {"/dev/sdcw15", BRACK(FH_SDCW | 15), "\\Device\\Harddisk100\\Partition15"},
+ {"/dev/sdcx1", BRACK(FH_SDCX | 1), "\\Device\\Harddisk101\\Partition1"},
+ {"/dev/sdcx2", BRACK(FH_SDCX | 2), "\\Device\\Harddisk101\\Partition2"},
+ {"/dev/sdcx3", BRACK(FH_SDCX | 3), "\\Device\\Harddisk101\\Partition3"},
+ {"/dev/sdcx4", BRACK(FH_SDCX | 4), "\\Device\\Harddisk101\\Partition4"},
+ {"/dev/sdcx5", BRACK(FH_SDCX | 5), "\\Device\\Harddisk101\\Partition5"},
+ {"/dev/sdcx6", BRACK(FH_SDCX | 6), "\\Device\\Harddisk101\\Partition6"},
+ {"/dev/sdcx7", BRACK(FH_SDCX | 7), "\\Device\\Harddisk101\\Partition7"},
+ {"/dev/sdcx8", BRACK(FH_SDCX | 8), "\\Device\\Harddisk101\\Partition8"},
+ {"/dev/sdcx9", BRACK(FH_SDCX | 9), "\\Device\\Harddisk101\\Partition9"},
+ {"/dev/sdcx10", BRACK(FH_SDCX | 10), "\\Device\\Harddisk101\\Partition10"},
+ {"/dev/sdcx11", BRACK(FH_SDCX | 11), "\\Device\\Harddisk101\\Partition11"},
+ {"/dev/sdcx12", BRACK(FH_SDCX | 12), "\\Device\\Harddisk101\\Partition12"},
+ {"/dev/sdcx13", BRACK(FH_SDCX | 13), "\\Device\\Harddisk101\\Partition13"},
+ {"/dev/sdcx14", BRACK(FH_SDCX | 14), "\\Device\\Harddisk101\\Partition14"},
+ {"/dev/sdcx15", BRACK(FH_SDCX | 15), "\\Device\\Harddisk101\\Partition15"},
+ {"/dev/sdcy1", BRACK(FH_SDCY | 1), "\\Device\\Harddisk102\\Partition1"},
+ {"/dev/sdcy2", BRACK(FH_SDCY | 2), "\\Device\\Harddisk102\\Partition2"},
+ {"/dev/sdcy3", BRACK(FH_SDCY | 3), "\\Device\\Harddisk102\\Partition3"},
+ {"/dev/sdcy4", BRACK(FH_SDCY | 4), "\\Device\\Harddisk102\\Partition4"},
+ {"/dev/sdcy5", BRACK(FH_SDCY | 5), "\\Device\\Harddisk102\\Partition5"},
+ {"/dev/sdcy6", BRACK(FH_SDCY | 6), "\\Device\\Harddisk102\\Partition6"},
+ {"/dev/sdcy7", BRACK(FH_SDCY | 7), "\\Device\\Harddisk102\\Partition7"},
+ {"/dev/sdcy8", BRACK(FH_SDCY | 8), "\\Device\\Harddisk102\\Partition8"},
+ {"/dev/sdcy9", BRACK(FH_SDCY | 9), "\\Device\\Harddisk102\\Partition9"},
+ {"/dev/sdcy10", BRACK(FH_SDCY | 10), "\\Device\\Harddisk102\\Partition10"},
+ {"/dev/sdcy11", BRACK(FH_SDCY | 11), "\\Device\\Harddisk102\\Partition11"},
+ {"/dev/sdcy12", BRACK(FH_SDCY | 12), "\\Device\\Harddisk102\\Partition12"},
+ {"/dev/sdcy13", BRACK(FH_SDCY | 13), "\\Device\\Harddisk102\\Partition13"},
+ {"/dev/sdcy14", BRACK(FH_SDCY | 14), "\\Device\\Harddisk102\\Partition14"},
+ {"/dev/sdcy15", BRACK(FH_SDCY | 15), "\\Device\\Harddisk102\\Partition15"},
+ {"/dev/sdcz1", BRACK(FH_SDCZ | 1), "\\Device\\Harddisk103\\Partition1"},
+ {"/dev/sdcz2", BRACK(FH_SDCZ | 2), "\\Device\\Harddisk103\\Partition2"},
+ {"/dev/sdcz3", BRACK(FH_SDCZ | 3), "\\Device\\Harddisk103\\Partition3"},
+ {"/dev/sdcz4", BRACK(FH_SDCZ | 4), "\\Device\\Harddisk103\\Partition4"},
+ {"/dev/sdcz5", BRACK(FH_SDCZ | 5), "\\Device\\Harddisk103\\Partition5"},
+ {"/dev/sdcz6", BRACK(FH_SDCZ | 6), "\\Device\\Harddisk103\\Partition6"},
+ {"/dev/sdcz7", BRACK(FH_SDCZ | 7), "\\Device\\Harddisk103\\Partition7"},
+ {"/dev/sdcz8", BRACK(FH_SDCZ | 8), "\\Device\\Harddisk103\\Partition8"},
+ {"/dev/sdcz9", BRACK(FH_SDCZ | 9), "\\Device\\Harddisk103\\Partition9"},
+ {"/dev/sdcz10", BRACK(FH_SDCZ | 10), "\\Device\\Harddisk103\\Partition10"},
+ {"/dev/sdcz11", BRACK(FH_SDCZ | 11), "\\Device\\Harddisk103\\Partition11"},
+ {"/dev/sdcz12", BRACK(FH_SDCZ | 12), "\\Device\\Harddisk103\\Partition12"},
+ {"/dev/sdcz13", BRACK(FH_SDCZ | 13), "\\Device\\Harddisk103\\Partition13"},
+ {"/dev/sdcz14", BRACK(FH_SDCZ | 14), "\\Device\\Harddisk103\\Partition14"},
+ {"/dev/sdcz15", BRACK(FH_SDCZ | 15), "\\Device\\Harddisk103\\Partition15"},
+ {"/dev/sdda", BRACK(FH_SDDA), "\\Device\\Harddisk104\\Partition0"},
+ {"/dev/sddb", BRACK(FH_SDDB), "\\Device\\Harddisk105\\Partition0"},
+ {"/dev/sddc", BRACK(FH_SDDC), "\\Device\\Harddisk106\\Partition0"},
+ {"/dev/sddd", BRACK(FH_SDDD), "\\Device\\Harddisk107\\Partition0"},
+ {"/dev/sdde", BRACK(FH_SDDE), "\\Device\\Harddisk108\\Partition0"},
+ {"/dev/sddf", BRACK(FH_SDDF), "\\Device\\Harddisk109\\Partition0"},
+ {"/dev/sddg", BRACK(FH_SDDG), "\\Device\\Harddisk110\\Partition0"},
+ {"/dev/sddh", BRACK(FH_SDDH), "\\Device\\Harddisk111\\Partition0"},
+ {"/dev/sddi", BRACK(FH_SDDI), "\\Device\\Harddisk112\\Partition0"},
+ {"/dev/sddj", BRACK(FH_SDDJ), "\\Device\\Harddisk113\\Partition0"},
+ {"/dev/sddk", BRACK(FH_SDDK), "\\Device\\Harddisk114\\Partition0"},
+ {"/dev/sddl", BRACK(FH_SDDL), "\\Device\\Harddisk115\\Partition0"},
+ {"/dev/sddm", BRACK(FH_SDDM), "\\Device\\Harddisk116\\Partition0"},
+ {"/dev/sddn", BRACK(FH_SDDN), "\\Device\\Harddisk117\\Partition0"},
+ {"/dev/sddo", BRACK(FH_SDDO), "\\Device\\Harddisk118\\Partition0"},
+ {"/dev/sddp", BRACK(FH_SDDP), "\\Device\\Harddisk119\\Partition0"},
+ {"/dev/sddq", BRACK(FH_SDDQ), "\\Device\\Harddisk120\\Partition0"},
+ {"/dev/sddr", BRACK(FH_SDDR), "\\Device\\Harddisk121\\Partition0"},
+ {"/dev/sdds", BRACK(FH_SDDS), "\\Device\\Harddisk122\\Partition0"},
+ {"/dev/sddt", BRACK(FH_SDDT), "\\Device\\Harddisk123\\Partition0"},
+ {"/dev/sddu", BRACK(FH_SDDU), "\\Device\\Harddisk124\\Partition0"},
+ {"/dev/sddv", BRACK(FH_SDDV), "\\Device\\Harddisk125\\Partition0"},
+ {"/dev/sddw", BRACK(FH_SDDW), "\\Device\\Harddisk126\\Partition0"},
+ {"/dev/sddx", BRACK(FH_SDDX), "\\Device\\Harddisk127\\Partition0"},
+ {"/dev/sdda1", BRACK(FH_SDDA | 1), "\\Device\\Harddisk104\\Partition1"},
+ {"/dev/sdda2", BRACK(FH_SDDA | 2), "\\Device\\Harddisk104\\Partition2"},
+ {"/dev/sdda3", BRACK(FH_SDDA | 3), "\\Device\\Harddisk104\\Partition3"},
+ {"/dev/sdda4", BRACK(FH_SDDA | 4), "\\Device\\Harddisk104\\Partition4"},
+ {"/dev/sdda5", BRACK(FH_SDDA | 5), "\\Device\\Harddisk104\\Partition5"},
+ {"/dev/sdda6", BRACK(FH_SDDA | 6), "\\Device\\Harddisk104\\Partition6"},
+ {"/dev/sdda7", BRACK(FH_SDDA | 7), "\\Device\\Harddisk104\\Partition7"},
+ {"/dev/sdda8", BRACK(FH_SDDA | 8), "\\Device\\Harddisk104\\Partition8"},
+ {"/dev/sdda9", BRACK(FH_SDDA | 9), "\\Device\\Harddisk104\\Partition9"},
+ {"/dev/sdda10", BRACK(FH_SDDA | 10), "\\Device\\Harddisk104\\Partition10"},
+ {"/dev/sdda11", BRACK(FH_SDDA | 11), "\\Device\\Harddisk104\\Partition11"},
+ {"/dev/sdda12", BRACK(FH_SDDA | 12), "\\Device\\Harddisk104\\Partition12"},
+ {"/dev/sdda13", BRACK(FH_SDDA | 13), "\\Device\\Harddisk104\\Partition13"},
+ {"/dev/sdda14", BRACK(FH_SDDA | 14), "\\Device\\Harddisk104\\Partition14"},
+ {"/dev/sdda15", BRACK(FH_SDDA | 15), "\\Device\\Harddisk104\\Partition15"},
+ {"/dev/sddb1", BRACK(FH_SDDB | 1), "\\Device\\Harddisk105\\Partition1"},
+ {"/dev/sddb2", BRACK(FH_SDDB | 2), "\\Device\\Harddisk105\\Partition2"},
+ {"/dev/sddb3", BRACK(FH_SDDB | 3), "\\Device\\Harddisk105\\Partition3"},
+ {"/dev/sddb4", BRACK(FH_SDDB | 4), "\\Device\\Harddisk105\\Partition4"},
+ {"/dev/sddb5", BRACK(FH_SDDB | 5), "\\Device\\Harddisk105\\Partition5"},
+ {"/dev/sddb6", BRACK(FH_SDDB | 6), "\\Device\\Harddisk105\\Partition6"},
+ {"/dev/sddb7", BRACK(FH_SDDB | 7), "\\Device\\Harddisk105\\Partition7"},
+ {"/dev/sddb8", BRACK(FH_SDDB | 8), "\\Device\\Harddisk105\\Partition8"},
+ {"/dev/sddb9", BRACK(FH_SDDB | 9), "\\Device\\Harddisk105\\Partition9"},
+ {"/dev/sddb10", BRACK(FH_SDDB | 10), "\\Device\\Harddisk105\\Partition10"},
+ {"/dev/sddb11", BRACK(FH_SDDB | 11), "\\Device\\Harddisk105\\Partition11"},
+ {"/dev/sddb12", BRACK(FH_SDDB | 12), "\\Device\\Harddisk105\\Partition12"},
+ {"/dev/sddb13", BRACK(FH_SDDB | 13), "\\Device\\Harddisk105\\Partition13"},
+ {"/dev/sddb14", BRACK(FH_SDDB | 14), "\\Device\\Harddisk105\\Partition14"},
+ {"/dev/sddb15", BRACK(FH_SDDB | 15), "\\Device\\Harddisk105\\Partition15"},
+ {"/dev/sddc1", BRACK(FH_SDDC | 1), "\\Device\\Harddisk106\\Partition1"},
+ {"/dev/sddc2", BRACK(FH_SDDC | 2), "\\Device\\Harddisk106\\Partition2"},
+ {"/dev/sddc3", BRACK(FH_SDDC | 3), "\\Device\\Harddisk106\\Partition3"},
+ {"/dev/sddc4", BRACK(FH_SDDC | 4), "\\Device\\Harddisk106\\Partition4"},
+ {"/dev/sddc5", BRACK(FH_SDDC | 5), "\\Device\\Harddisk106\\Partition5"},
+ {"/dev/sddc6", BRACK(FH_SDDC | 6), "\\Device\\Harddisk106\\Partition6"},
+ {"/dev/sddc7", BRACK(FH_SDDC | 7), "\\Device\\Harddisk106\\Partition7"},
+ {"/dev/sddc8", BRACK(FH_SDDC | 8), "\\Device\\Harddisk106\\Partition8"},
+ {"/dev/sddc9", BRACK(FH_SDDC | 9), "\\Device\\Harddisk106\\Partition9"},
+ {"/dev/sddc10", BRACK(FH_SDDC | 10), "\\Device\\Harddisk106\\Partition10"},
+ {"/dev/sddc11", BRACK(FH_SDDC | 11), "\\Device\\Harddisk106\\Partition11"},
+ {"/dev/sddc12", BRACK(FH_SDDC | 12), "\\Device\\Harddisk106\\Partition12"},
+ {"/dev/sddc13", BRACK(FH_SDDC | 13), "\\Device\\Harddisk106\\Partition13"},
+ {"/dev/sddc14", BRACK(FH_SDDC | 14), "\\Device\\Harddisk106\\Partition14"},
+ {"/dev/sddc15", BRACK(FH_SDDC | 15), "\\Device\\Harddisk106\\Partition15"},
+ {"/dev/sddd1", BRACK(FH_SDDD | 1), "\\Device\\Harddisk107\\Partition1"},
+ {"/dev/sddd2", BRACK(FH_SDDD | 2), "\\Device\\Harddisk107\\Partition2"},
+ {"/dev/sddd3", BRACK(FH_SDDD | 3), "\\Device\\Harddisk107\\Partition3"},
+ {"/dev/sddd4", BRACK(FH_SDDD | 4), "\\Device\\Harddisk107\\Partition4"},
+ {"/dev/sddd5", BRACK(FH_SDDD | 5), "\\Device\\Harddisk107\\Partition5"},
+ {"/dev/sddd6", BRACK(FH_SDDD | 6), "\\Device\\Harddisk107\\Partition6"},
+ {"/dev/sddd7", BRACK(FH_SDDD | 7), "\\Device\\Harddisk107\\Partition7"},
+ {"/dev/sddd8", BRACK(FH_SDDD | 8), "\\Device\\Harddisk107\\Partition8"},
+ {"/dev/sddd9", BRACK(FH_SDDD | 9), "\\Device\\Harddisk107\\Partition9"},
+ {"/dev/sddd10", BRACK(FH_SDDD | 10), "\\Device\\Harddisk107\\Partition10"},
+ {"/dev/sddd11", BRACK(FH_SDDD | 11), "\\Device\\Harddisk107\\Partition11"},
+ {"/dev/sddd12", BRACK(FH_SDDD | 12), "\\Device\\Harddisk107\\Partition12"},
+ {"/dev/sddd13", BRACK(FH_SDDD | 13), "\\Device\\Harddisk107\\Partition13"},
+ {"/dev/sddd14", BRACK(FH_SDDD | 14), "\\Device\\Harddisk107\\Partition14"},
+ {"/dev/sddd15", BRACK(FH_SDDD | 15), "\\Device\\Harddisk107\\Partition15"},
+ {"/dev/sdde1", BRACK(FH_SDDE | 1), "\\Device\\Harddisk108\\Partition1"},
+ {"/dev/sdde2", BRACK(FH_SDDE | 2), "\\Device\\Harddisk108\\Partition2"},
+ {"/dev/sdde3", BRACK(FH_SDDE | 3), "\\Device\\Harddisk108\\Partition3"},
+ {"/dev/sdde4", BRACK(FH_SDDE | 4), "\\Device\\Harddisk108\\Partition4"},
+ {"/dev/sdde5", BRACK(FH_SDDE | 5), "\\Device\\Harddisk108\\Partition5"},
+ {"/dev/sdde6", BRACK(FH_SDDE | 6), "\\Device\\Harddisk108\\Partition6"},
+ {"/dev/sdde7", BRACK(FH_SDDE | 7), "\\Device\\Harddisk108\\Partition7"},
+ {"/dev/sdde8", BRACK(FH_SDDE | 8), "\\Device\\Harddisk108\\Partition8"},
+ {"/dev/sdde9", BRACK(FH_SDDE | 9), "\\Device\\Harddisk108\\Partition9"},
+ {"/dev/sdde10", BRACK(FH_SDDE | 10), "\\Device\\Harddisk108\\Partition10"},
+ {"/dev/sdde11", BRACK(FH_SDDE | 11), "\\Device\\Harddisk108\\Partition11"},
+ {"/dev/sdde12", BRACK(FH_SDDE | 12), "\\Device\\Harddisk108\\Partition12"},
+ {"/dev/sdde13", BRACK(FH_SDDE | 13), "\\Device\\Harddisk108\\Partition13"},
+ {"/dev/sdde14", BRACK(FH_SDDE | 14), "\\Device\\Harddisk108\\Partition14"},
+ {"/dev/sdde15", BRACK(FH_SDDE | 15), "\\Device\\Harddisk108\\Partition15"},
+ {"/dev/sddf1", BRACK(FH_SDDF | 1), "\\Device\\Harddisk109\\Partition1"},
+ {"/dev/sddf2", BRACK(FH_SDDF | 2), "\\Device\\Harddisk109\\Partition2"},
+ {"/dev/sddf3", BRACK(FH_SDDF | 3), "\\Device\\Harddisk109\\Partition3"},
+ {"/dev/sddf4", BRACK(FH_SDDF | 4), "\\Device\\Harddisk109\\Partition4"},
+ {"/dev/sddf5", BRACK(FH_SDDF | 5), "\\Device\\Harddisk109\\Partition5"},
+ {"/dev/sddf6", BRACK(FH_SDDF | 6), "\\Device\\Harddisk109\\Partition6"},
+ {"/dev/sddf7", BRACK(FH_SDDF | 7), "\\Device\\Harddisk109\\Partition7"},
+ {"/dev/sddf8", BRACK(FH_SDDF | 8), "\\Device\\Harddisk109\\Partition8"},
+ {"/dev/sddf9", BRACK(FH_SDDF | 9), "\\Device\\Harddisk109\\Partition9"},
+ {"/dev/sddf10", BRACK(FH_SDDF | 10), "\\Device\\Harddisk109\\Partition10"},
+ {"/dev/sddf11", BRACK(FH_SDDF | 11), "\\Device\\Harddisk109\\Partition11"},
+ {"/dev/sddf12", BRACK(FH_SDDF | 12), "\\Device\\Harddisk109\\Partition12"},
+ {"/dev/sddf13", BRACK(FH_SDDF | 13), "\\Device\\Harddisk109\\Partition13"},
+ {"/dev/sddf14", BRACK(FH_SDDF | 14), "\\Device\\Harddisk109\\Partition14"},
+ {"/dev/sddf15", BRACK(FH_SDDF | 15), "\\Device\\Harddisk109\\Partition15"},
+ {"/dev/sddg1", BRACK(FH_SDDG | 1), "\\Device\\Harddisk110\\Partition1"},
+ {"/dev/sddg2", BRACK(FH_SDDG | 2), "\\Device\\Harddisk110\\Partition2"},
+ {"/dev/sddg3", BRACK(FH_SDDG | 3), "\\Device\\Harddisk110\\Partition3"},
+ {"/dev/sddg4", BRACK(FH_SDDG | 4), "\\Device\\Harddisk110\\Partition4"},
+ {"/dev/sddg5", BRACK(FH_SDDG | 5), "\\Device\\Harddisk110\\Partition5"},
+ {"/dev/sddg6", BRACK(FH_SDDG | 6), "\\Device\\Harddisk110\\Partition6"},
+ {"/dev/sddg7", BRACK(FH_SDDG | 7), "\\Device\\Harddisk110\\Partition7"},
+ {"/dev/sddg8", BRACK(FH_SDDG | 8), "\\Device\\Harddisk110\\Partition8"},
+ {"/dev/sddg9", BRACK(FH_SDDG | 9), "\\Device\\Harddisk110\\Partition9"},
+ {"/dev/sddg10", BRACK(FH_SDDG | 10), "\\Device\\Harddisk110\\Partition10"},
+ {"/dev/sddg11", BRACK(FH_SDDG | 11), "\\Device\\Harddisk110\\Partition11"},
+ {"/dev/sddg12", BRACK(FH_SDDG | 12), "\\Device\\Harddisk110\\Partition12"},
+ {"/dev/sddg13", BRACK(FH_SDDG | 13), "\\Device\\Harddisk110\\Partition13"},
+ {"/dev/sddg14", BRACK(FH_SDDG | 14), "\\Device\\Harddisk110\\Partition14"},
+ {"/dev/sddg15", BRACK(FH_SDDG | 15), "\\Device\\Harddisk110\\Partition15"},
+ {"/dev/sddh1", BRACK(FH_SDDH | 1), "\\Device\\Harddisk111\\Partition1"},
+ {"/dev/sddh2", BRACK(FH_SDDH | 2), "\\Device\\Harddisk111\\Partition2"},
+ {"/dev/sddh3", BRACK(FH_SDDH | 3), "\\Device\\Harddisk111\\Partition3"},
+ {"/dev/sddh4", BRACK(FH_SDDH | 4), "\\Device\\Harddisk111\\Partition4"},
+ {"/dev/sddh5", BRACK(FH_SDDH | 5), "\\Device\\Harddisk111\\Partition5"},
+ {"/dev/sddh6", BRACK(FH_SDDH | 6), "\\Device\\Harddisk111\\Partition6"},
+ {"/dev/sddh7", BRACK(FH_SDDH | 7), "\\Device\\Harddisk111\\Partition7"},
+ {"/dev/sddh8", BRACK(FH_SDDH | 8), "\\Device\\Harddisk111\\Partition8"},
+ {"/dev/sddh9", BRACK(FH_SDDH | 9), "\\Device\\Harddisk111\\Partition9"},
+ {"/dev/sddh10", BRACK(FH_SDDH | 10), "\\Device\\Harddisk111\\Partition10"},
+ {"/dev/sddh11", BRACK(FH_SDDH | 11), "\\Device\\Harddisk111\\Partition11"},
+ {"/dev/sddh12", BRACK(FH_SDDH | 12), "\\Device\\Harddisk111\\Partition12"},
+ {"/dev/sddh13", BRACK(FH_SDDH | 13), "\\Device\\Harddisk111\\Partition13"},
+ {"/dev/sddh14", BRACK(FH_SDDH | 14), "\\Device\\Harddisk111\\Partition14"},
+ {"/dev/sddh15", BRACK(FH_SDDH | 15), "\\Device\\Harddisk111\\Partition15"},
+ {"/dev/sddi1", BRACK(FH_SDDI | 1), "\\Device\\Harddisk112\\Partition1"},
+ {"/dev/sddi2", BRACK(FH_SDDI | 2), "\\Device\\Harddisk112\\Partition2"},
+ {"/dev/sddi3", BRACK(FH_SDDI | 3), "\\Device\\Harddisk112\\Partition3"},
+ {"/dev/sddi4", BRACK(FH_SDDI | 4), "\\Device\\Harddisk112\\Partition4"},
+ {"/dev/sddi5", BRACK(FH_SDDI | 5), "\\Device\\Harddisk112\\Partition5"},
+ {"/dev/sddi6", BRACK(FH_SDDI | 6), "\\Device\\Harddisk112\\Partition6"},
+ {"/dev/sddi7", BRACK(FH_SDDI | 7), "\\Device\\Harddisk112\\Partition7"},
+ {"/dev/sddi8", BRACK(FH_SDDI | 8), "\\Device\\Harddisk112\\Partition8"},
+ {"/dev/sddi9", BRACK(FH_SDDI | 9), "\\Device\\Harddisk112\\Partition9"},
+ {"/dev/sddi10", BRACK(FH_SDDI | 10), "\\Device\\Harddisk112\\Partition10"},
+ {"/dev/sddi11", BRACK(FH_SDDI | 11), "\\Device\\Harddisk112\\Partition11"},
+ {"/dev/sddi12", BRACK(FH_SDDI | 12), "\\Device\\Harddisk112\\Partition12"},
+ {"/dev/sddi13", BRACK(FH_SDDI | 13), "\\Device\\Harddisk112\\Partition13"},
+ {"/dev/sddi14", BRACK(FH_SDDI | 14), "\\Device\\Harddisk112\\Partition14"},
+ {"/dev/sddi15", BRACK(FH_SDDI | 15), "\\Device\\Harddisk112\\Partition15"},
+ {"/dev/sddj1", BRACK(FH_SDDJ | 1), "\\Device\\Harddisk113\\Partition1"},
+ {"/dev/sddj2", BRACK(FH_SDDJ | 2), "\\Device\\Harddisk113\\Partition2"},
+ {"/dev/sddj3", BRACK(FH_SDDJ | 3), "\\Device\\Harddisk113\\Partition3"},
+ {"/dev/sddj4", BRACK(FH_SDDJ | 4), "\\Device\\Harddisk113\\Partition4"},
+ {"/dev/sddj5", BRACK(FH_SDDJ | 5), "\\Device\\Harddisk113\\Partition5"},
+ {"/dev/sddj6", BRACK(FH_SDDJ | 6), "\\Device\\Harddisk113\\Partition6"},
+ {"/dev/sddj7", BRACK(FH_SDDJ | 7), "\\Device\\Harddisk113\\Partition7"},
+ {"/dev/sddj8", BRACK(FH_SDDJ | 8), "\\Device\\Harddisk113\\Partition8"},
+ {"/dev/sddj9", BRACK(FH_SDDJ | 9), "\\Device\\Harddisk113\\Partition9"},
+ {"/dev/sddj10", BRACK(FH_SDDJ | 10), "\\Device\\Harddisk113\\Partition10"},
+ {"/dev/sddj11", BRACK(FH_SDDJ | 11), "\\Device\\Harddisk113\\Partition11"},
+ {"/dev/sddj12", BRACK(FH_SDDJ | 12), "\\Device\\Harddisk113\\Partition12"},
+ {"/dev/sddj13", BRACK(FH_SDDJ | 13), "\\Device\\Harddisk113\\Partition13"},
+ {"/dev/sddj14", BRACK(FH_SDDJ | 14), "\\Device\\Harddisk113\\Partition14"},
+ {"/dev/sddj15", BRACK(FH_SDDJ | 15), "\\Device\\Harddisk113\\Partition15"},
+ {"/dev/sddk1", BRACK(FH_SDDK | 1), "\\Device\\Harddisk114\\Partition1"},
+ {"/dev/sddk2", BRACK(FH_SDDK | 2), "\\Device\\Harddisk114\\Partition2"},
+ {"/dev/sddk3", BRACK(FH_SDDK | 3), "\\Device\\Harddisk114\\Partition3"},
+ {"/dev/sddk4", BRACK(FH_SDDK | 4), "\\Device\\Harddisk114\\Partition4"},
+ {"/dev/sddk5", BRACK(FH_SDDK | 5), "\\Device\\Harddisk114\\Partition5"},
+ {"/dev/sddk6", BRACK(FH_SDDK | 6), "\\Device\\Harddisk114\\Partition6"},
+ {"/dev/sddk7", BRACK(FH_SDDK | 7), "\\Device\\Harddisk114\\Partition7"},
+ {"/dev/sddk8", BRACK(FH_SDDK | 8), "\\Device\\Harddisk114\\Partition8"},
+ {"/dev/sddk9", BRACK(FH_SDDK | 9), "\\Device\\Harddisk114\\Partition9"},
+ {"/dev/sddk10", BRACK(FH_SDDK | 10), "\\Device\\Harddisk114\\Partition10"},
+ {"/dev/sddk11", BRACK(FH_SDDK | 11), "\\Device\\Harddisk114\\Partition11"},
+ {"/dev/sddk12", BRACK(FH_SDDK | 12), "\\Device\\Harddisk114\\Partition12"},
+ {"/dev/sddk13", BRACK(FH_SDDK | 13), "\\Device\\Harddisk114\\Partition13"},
+ {"/dev/sddk14", BRACK(FH_SDDK | 14), "\\Device\\Harddisk114\\Partition14"},
+ {"/dev/sddk15", BRACK(FH_SDDK | 15), "\\Device\\Harddisk114\\Partition15"},
+ {"/dev/sddl1", BRACK(FH_SDDL | 1), "\\Device\\Harddisk115\\Partition1"},
+ {"/dev/sddl2", BRACK(FH_SDDL | 2), "\\Device\\Harddisk115\\Partition2"},
+ {"/dev/sddl3", BRACK(FH_SDDL | 3), "\\Device\\Harddisk115\\Partition3"},
+ {"/dev/sddl4", BRACK(FH_SDDL | 4), "\\Device\\Harddisk115\\Partition4"},
+ {"/dev/sddl5", BRACK(FH_SDDL | 5), "\\Device\\Harddisk115\\Partition5"},
+ {"/dev/sddl6", BRACK(FH_SDDL | 6), "\\Device\\Harddisk115\\Partition6"},
+ {"/dev/sddl7", BRACK(FH_SDDL | 7), "\\Device\\Harddisk115\\Partition7"},
+ {"/dev/sddl8", BRACK(FH_SDDL | 8), "\\Device\\Harddisk115\\Partition8"},
+ {"/dev/sddl9", BRACK(FH_SDDL | 9), "\\Device\\Harddisk115\\Partition9"},
+ {"/dev/sddl10", BRACK(FH_SDDL | 10), "\\Device\\Harddisk115\\Partition10"},
+ {"/dev/sddl11", BRACK(FH_SDDL | 11), "\\Device\\Harddisk115\\Partition11"},
+ {"/dev/sddl12", BRACK(FH_SDDL | 12), "\\Device\\Harddisk115\\Partition12"},
+ {"/dev/sddl13", BRACK(FH_SDDL | 13), "\\Device\\Harddisk115\\Partition13"},
+ {"/dev/sddl14", BRACK(FH_SDDL | 14), "\\Device\\Harddisk115\\Partition14"},
+ {"/dev/sddl15", BRACK(FH_SDDL | 15), "\\Device\\Harddisk115\\Partition15"},
+ {"/dev/sddm1", BRACK(FH_SDDM | 1), "\\Device\\Harddisk116\\Partition1"},
+ {"/dev/sddm2", BRACK(FH_SDDM | 2), "\\Device\\Harddisk116\\Partition2"},
+ {"/dev/sddm3", BRACK(FH_SDDM | 3), "\\Device\\Harddisk116\\Partition3"},
+ {"/dev/sddm4", BRACK(FH_SDDM | 4), "\\Device\\Harddisk116\\Partition4"},
+ {"/dev/sddm5", BRACK(FH_SDDM | 5), "\\Device\\Harddisk116\\Partition5"},
+ {"/dev/sddm6", BRACK(FH_SDDM | 6), "\\Device\\Harddisk116\\Partition6"},
+ {"/dev/sddm7", BRACK(FH_SDDM | 7), "\\Device\\Harddisk116\\Partition7"},
+ {"/dev/sddm8", BRACK(FH_SDDM | 8), "\\Device\\Harddisk116\\Partition8"},
+ {"/dev/sddm9", BRACK(FH_SDDM | 9), "\\Device\\Harddisk116\\Partition9"},
+ {"/dev/sddm10", BRACK(FH_SDDM | 10), "\\Device\\Harddisk116\\Partition10"},
+ {"/dev/sddm11", BRACK(FH_SDDM | 11), "\\Device\\Harddisk116\\Partition11"},
+ {"/dev/sddm12", BRACK(FH_SDDM | 12), "\\Device\\Harddisk116\\Partition12"},
+ {"/dev/sddm13", BRACK(FH_SDDM | 13), "\\Device\\Harddisk116\\Partition13"},
+ {"/dev/sddm14", BRACK(FH_SDDM | 14), "\\Device\\Harddisk116\\Partition14"},
+ {"/dev/sddm15", BRACK(FH_SDDM | 15), "\\Device\\Harddisk116\\Partition15"},
+ {"/dev/sddn1", BRACK(FH_SDDN | 1), "\\Device\\Harddisk117\\Partition1"},
+ {"/dev/sddn2", BRACK(FH_SDDN | 2), "\\Device\\Harddisk117\\Partition2"},
+ {"/dev/sddn3", BRACK(FH_SDDN | 3), "\\Device\\Harddisk117\\Partition3"},
+ {"/dev/sddn4", BRACK(FH_SDDN | 4), "\\Device\\Harddisk117\\Partition4"},
+ {"/dev/sddn5", BRACK(FH_SDDN | 5), "\\Device\\Harddisk117\\Partition5"},
+ {"/dev/sddn6", BRACK(FH_SDDN | 6), "\\Device\\Harddisk117\\Partition6"},
+ {"/dev/sddn7", BRACK(FH_SDDN | 7), "\\Device\\Harddisk117\\Partition7"},
+ {"/dev/sddn8", BRACK(FH_SDDN | 8), "\\Device\\Harddisk117\\Partition8"},
+ {"/dev/sddn9", BRACK(FH_SDDN | 9), "\\Device\\Harddisk117\\Partition9"},
+ {"/dev/sddn10", BRACK(FH_SDDN | 10), "\\Device\\Harddisk117\\Partition10"},
+ {"/dev/sddn11", BRACK(FH_SDDN | 11), "\\Device\\Harddisk117\\Partition11"},
+ {"/dev/sddn12", BRACK(FH_SDDN | 12), "\\Device\\Harddisk117\\Partition12"},
+ {"/dev/sddn13", BRACK(FH_SDDN | 13), "\\Device\\Harddisk117\\Partition13"},
+ {"/dev/sddn14", BRACK(FH_SDDN | 14), "\\Device\\Harddisk117\\Partition14"},
+ {"/dev/sddn15", BRACK(FH_SDDN | 15), "\\Device\\Harddisk117\\Partition15"},
+ {"/dev/sddo1", BRACK(FH_SDDO | 1), "\\Device\\Harddisk118\\Partition1"},
+ {"/dev/sddo2", BRACK(FH_SDDO | 2), "\\Device\\Harddisk118\\Partition2"},
+ {"/dev/sddo3", BRACK(FH_SDDO | 3), "\\Device\\Harddisk118\\Partition3"},
+ {"/dev/sddo4", BRACK(FH_SDDO | 4), "\\Device\\Harddisk118\\Partition4"},
+ {"/dev/sddo5", BRACK(FH_SDDO | 5), "\\Device\\Harddisk118\\Partition5"},
+ {"/dev/sddo6", BRACK(FH_SDDO | 6), "\\Device\\Harddisk118\\Partition6"},
+ {"/dev/sddo7", BRACK(FH_SDDO | 7), "\\Device\\Harddisk118\\Partition7"},
+ {"/dev/sddo8", BRACK(FH_SDDO | 8), "\\Device\\Harddisk118\\Partition8"},
+ {"/dev/sddo9", BRACK(FH_SDDO | 9), "\\Device\\Harddisk118\\Partition9"},
+ {"/dev/sddo10", BRACK(FH_SDDO | 10), "\\Device\\Harddisk118\\Partition10"},
+ {"/dev/sddo11", BRACK(FH_SDDO | 11), "\\Device\\Harddisk118\\Partition11"},
+ {"/dev/sddo12", BRACK(FH_SDDO | 12), "\\Device\\Harddisk118\\Partition12"},
+ {"/dev/sddo13", BRACK(FH_SDDO | 13), "\\Device\\Harddisk118\\Partition13"},
+ {"/dev/sddo14", BRACK(FH_SDDO | 14), "\\Device\\Harddisk118\\Partition14"},
+ {"/dev/sddo15", BRACK(FH_SDDO | 15), "\\Device\\Harddisk118\\Partition15"},
+ {"/dev/sddp1", BRACK(FH_SDDP | 1), "\\Device\\Harddisk119\\Partition1"},
+ {"/dev/sddp2", BRACK(FH_SDDP | 2), "\\Device\\Harddisk119\\Partition2"},
+ {"/dev/sddp3", BRACK(FH_SDDP | 3), "\\Device\\Harddisk119\\Partition3"},
+ {"/dev/sddp4", BRACK(FH_SDDP | 4), "\\Device\\Harddisk119\\Partition4"},
+ {"/dev/sddp5", BRACK(FH_SDDP | 5), "\\Device\\Harddisk119\\Partition5"},
+ {"/dev/sddp6", BRACK(FH_SDDP | 6), "\\Device\\Harddisk119\\Partition6"},
+ {"/dev/sddp7", BRACK(FH_SDDP | 7), "\\Device\\Harddisk119\\Partition7"},
+ {"/dev/sddp8", BRACK(FH_SDDP | 8), "\\Device\\Harddisk119\\Partition8"},
+ {"/dev/sddp9", BRACK(FH_SDDP | 9), "\\Device\\Harddisk119\\Partition9"},
+ {"/dev/sddp10", BRACK(FH_SDDP | 10), "\\Device\\Harddisk119\\Partition10"},
+ {"/dev/sddp11", BRACK(FH_SDDP | 11), "\\Device\\Harddisk119\\Partition11"},
+ {"/dev/sddp12", BRACK(FH_SDDP | 12), "\\Device\\Harddisk119\\Partition12"},
+ {"/dev/sddp13", BRACK(FH_SDDP | 13), "\\Device\\Harddisk119\\Partition13"},
+ {"/dev/sddp14", BRACK(FH_SDDP | 14), "\\Device\\Harddisk119\\Partition14"},
+ {"/dev/sddp15", BRACK(FH_SDDP | 15), "\\Device\\Harddisk119\\Partition15"},
+ {"/dev/sddq1", BRACK(FH_SDDQ | 1), "\\Device\\Harddisk120\\Partition1"},
+ {"/dev/sddq2", BRACK(FH_SDDQ | 2), "\\Device\\Harddisk120\\Partition2"},
+ {"/dev/sddq3", BRACK(FH_SDDQ | 3), "\\Device\\Harddisk120\\Partition3"},
+ {"/dev/sddq4", BRACK(FH_SDDQ | 4), "\\Device\\Harddisk120\\Partition4"},
+ {"/dev/sddq5", BRACK(FH_SDDQ | 5), "\\Device\\Harddisk120\\Partition5"},
+ {"/dev/sddq6", BRACK(FH_SDDQ | 6), "\\Device\\Harddisk120\\Partition6"},
+ {"/dev/sddq7", BRACK(FH_SDDQ | 7), "\\Device\\Harddisk120\\Partition7"},
+ {"/dev/sddq8", BRACK(FH_SDDQ | 8), "\\Device\\Harddisk120\\Partition8"},
+ {"/dev/sddq9", BRACK(FH_SDDQ | 9), "\\Device\\Harddisk120\\Partition9"},
+ {"/dev/sddq10", BRACK(FH_SDDQ | 10), "\\Device\\Harddisk120\\Partition10"},
+ {"/dev/sddq11", BRACK(FH_SDDQ | 11), "\\Device\\Harddisk120\\Partition11"},
+ {"/dev/sddq12", BRACK(FH_SDDQ | 12), "\\Device\\Harddisk120\\Partition12"},
+ {"/dev/sddq13", BRACK(FH_SDDQ | 13), "\\Device\\Harddisk120\\Partition13"},
+ {"/dev/sddq14", BRACK(FH_SDDQ | 14), "\\Device\\Harddisk120\\Partition14"},
+ {"/dev/sddq15", BRACK(FH_SDDQ | 15), "\\Device\\Harddisk120\\Partition15"},
+ {"/dev/sddr1", BRACK(FH_SDDR | 1), "\\Device\\Harddisk121\\Partition1"},
+ {"/dev/sddr2", BRACK(FH_SDDR | 2), "\\Device\\Harddisk121\\Partition2"},
+ {"/dev/sddr3", BRACK(FH_SDDR | 3), "\\Device\\Harddisk121\\Partition3"},
+ {"/dev/sddr4", BRACK(FH_SDDR | 4), "\\Device\\Harddisk121\\Partition4"},
+ {"/dev/sddr5", BRACK(FH_SDDR | 5), "\\Device\\Harddisk121\\Partition5"},
+ {"/dev/sddr6", BRACK(FH_SDDR | 6), "\\Device\\Harddisk121\\Partition6"},
+ {"/dev/sddr7", BRACK(FH_SDDR | 7), "\\Device\\Harddisk121\\Partition7"},
+ {"/dev/sddr8", BRACK(FH_SDDR | 8), "\\Device\\Harddisk121\\Partition8"},
+ {"/dev/sddr9", BRACK(FH_SDDR | 9), "\\Device\\Harddisk121\\Partition9"},
+ {"/dev/sddr10", BRACK(FH_SDDR | 10), "\\Device\\Harddisk121\\Partition10"},
+ {"/dev/sddr11", BRACK(FH_SDDR | 11), "\\Device\\Harddisk121\\Partition11"},
+ {"/dev/sddr12", BRACK(FH_SDDR | 12), "\\Device\\Harddisk121\\Partition12"},
+ {"/dev/sddr13", BRACK(FH_SDDR | 13), "\\Device\\Harddisk121\\Partition13"},
+ {"/dev/sddr14", BRACK(FH_SDDR | 14), "\\Device\\Harddisk121\\Partition14"},
+ {"/dev/sddr15", BRACK(FH_SDDR | 15), "\\Device\\Harddisk121\\Partition15"},
+ {"/dev/sdds1", BRACK(FH_SDDS | 1), "\\Device\\Harddisk122\\Partition1"},
+ {"/dev/sdds2", BRACK(FH_SDDS | 2), "\\Device\\Harddisk122\\Partition2"},
+ {"/dev/sdds3", BRACK(FH_SDDS | 3), "\\Device\\Harddisk122\\Partition3"},
+ {"/dev/sdds4", BRACK(FH_SDDS | 4), "\\Device\\Harddisk122\\Partition4"},
+ {"/dev/sdds5", BRACK(FH_SDDS | 5), "\\Device\\Harddisk122\\Partition5"},
+ {"/dev/sdds6", BRACK(FH_SDDS | 6), "\\Device\\Harddisk122\\Partition6"},
+ {"/dev/sdds7", BRACK(FH_SDDS | 7), "\\Device\\Harddisk122\\Partition7"},
+ {"/dev/sdds8", BRACK(FH_SDDS | 8), "\\Device\\Harddisk122\\Partition8"},
+ {"/dev/sdds9", BRACK(FH_SDDS | 9), "\\Device\\Harddisk122\\Partition9"},
+ {"/dev/sdds10", BRACK(FH_SDDS | 10), "\\Device\\Harddisk122\\Partition10"},
+ {"/dev/sdds11", BRACK(FH_SDDS | 11), "\\Device\\Harddisk122\\Partition11"},
+ {"/dev/sdds12", BRACK(FH_SDDS | 12), "\\Device\\Harddisk122\\Partition12"},
+ {"/dev/sdds13", BRACK(FH_SDDS | 13), "\\Device\\Harddisk122\\Partition13"},
+ {"/dev/sdds14", BRACK(FH_SDDS | 14), "\\Device\\Harddisk122\\Partition14"},
+ {"/dev/sdds15", BRACK(FH_SDDS | 15), "\\Device\\Harddisk122\\Partition15"},
+ {"/dev/sddt1", BRACK(FH_SDDT | 1), "\\Device\\Harddisk123\\Partition1"},
+ {"/dev/sddt2", BRACK(FH_SDDT | 2), "\\Device\\Harddisk123\\Partition2"},
+ {"/dev/sddt3", BRACK(FH_SDDT | 3), "\\Device\\Harddisk123\\Partition3"},
+ {"/dev/sddt4", BRACK(FH_SDDT | 4), "\\Device\\Harddisk123\\Partition4"},
+ {"/dev/sddt5", BRACK(FH_SDDT | 5), "\\Device\\Harddisk123\\Partition5"},
+ {"/dev/sddt6", BRACK(FH_SDDT | 6), "\\Device\\Harddisk123\\Partition6"},
+ {"/dev/sddt7", BRACK(FH_SDDT | 7), "\\Device\\Harddisk123\\Partition7"},
+ {"/dev/sddt8", BRACK(FH_SDDT | 8), "\\Device\\Harddisk123\\Partition8"},
+ {"/dev/sddt9", BRACK(FH_SDDT | 9), "\\Device\\Harddisk123\\Partition9"},
+ {"/dev/sddt10", BRACK(FH_SDDT | 10), "\\Device\\Harddisk123\\Partition10"},
+ {"/dev/sddt11", BRACK(FH_SDDT | 11), "\\Device\\Harddisk123\\Partition11"},
+ {"/dev/sddt12", BRACK(FH_SDDT | 12), "\\Device\\Harddisk123\\Partition12"},
+ {"/dev/sddt13", BRACK(FH_SDDT | 13), "\\Device\\Harddisk123\\Partition13"},
+ {"/dev/sddt14", BRACK(FH_SDDT | 14), "\\Device\\Harddisk123\\Partition14"},
+ {"/dev/sddt15", BRACK(FH_SDDT | 15), "\\Device\\Harddisk123\\Partition15"},
+ {"/dev/sddu1", BRACK(FH_SDDU | 1), "\\Device\\Harddisk124\\Partition1"},
+ {"/dev/sddu2", BRACK(FH_SDDU | 2), "\\Device\\Harddisk124\\Partition2"},
+ {"/dev/sddu3", BRACK(FH_SDDU | 3), "\\Device\\Harddisk124\\Partition3"},
+ {"/dev/sddu4", BRACK(FH_SDDU | 4), "\\Device\\Harddisk124\\Partition4"},
+ {"/dev/sddu5", BRACK(FH_SDDU | 5), "\\Device\\Harddisk124\\Partition5"},
+ {"/dev/sddu6", BRACK(FH_SDDU | 6), "\\Device\\Harddisk124\\Partition6"},
+ {"/dev/sddu7", BRACK(FH_SDDU | 7), "\\Device\\Harddisk124\\Partition7"},
+ {"/dev/sddu8", BRACK(FH_SDDU | 8), "\\Device\\Harddisk124\\Partition8"},
+ {"/dev/sddu9", BRACK(FH_SDDU | 9), "\\Device\\Harddisk124\\Partition9"},
+ {"/dev/sddu10", BRACK(FH_SDDU | 10), "\\Device\\Harddisk124\\Partition10"},
+ {"/dev/sddu11", BRACK(FH_SDDU | 11), "\\Device\\Harddisk124\\Partition11"},
+ {"/dev/sddu12", BRACK(FH_SDDU | 12), "\\Device\\Harddisk124\\Partition12"},
+ {"/dev/sddu13", BRACK(FH_SDDU | 13), "\\Device\\Harddisk124\\Partition13"},
+ {"/dev/sddu14", BRACK(FH_SDDU | 14), "\\Device\\Harddisk124\\Partition14"},
+ {"/dev/sddu15", BRACK(FH_SDDU | 15), "\\Device\\Harddisk124\\Partition15"},
+ {"/dev/sddv1", BRACK(FH_SDDV | 1), "\\Device\\Harddisk125\\Partition1"},
+ {"/dev/sddv2", BRACK(FH_SDDV | 2), "\\Device\\Harddisk125\\Partition2"},
+ {"/dev/sddv3", BRACK(FH_SDDV | 3), "\\Device\\Harddisk125\\Partition3"},
+ {"/dev/sddv4", BRACK(FH_SDDV | 4), "\\Device\\Harddisk125\\Partition4"},
+ {"/dev/sddv5", BRACK(FH_SDDV | 5), "\\Device\\Harddisk125\\Partition5"},
+ {"/dev/sddv6", BRACK(FH_SDDV | 6), "\\Device\\Harddisk125\\Partition6"},
+ {"/dev/sddv7", BRACK(FH_SDDV | 7), "\\Device\\Harddisk125\\Partition7"},
+ {"/dev/sddv8", BRACK(FH_SDDV | 8), "\\Device\\Harddisk125\\Partition8"},
+ {"/dev/sddv9", BRACK(FH_SDDV | 9), "\\Device\\Harddisk125\\Partition9"},
+ {"/dev/sddv10", BRACK(FH_SDDV | 10), "\\Device\\Harddisk125\\Partition10"},
+ {"/dev/sddv11", BRACK(FH_SDDV | 11), "\\Device\\Harddisk125\\Partition11"},
+ {"/dev/sddv12", BRACK(FH_SDDV | 12), "\\Device\\Harddisk125\\Partition12"},
+ {"/dev/sddv13", BRACK(FH_SDDV | 13), "\\Device\\Harddisk125\\Partition13"},
+ {"/dev/sddv14", BRACK(FH_SDDV | 14), "\\Device\\Harddisk125\\Partition14"},
+ {"/dev/sddv15", BRACK(FH_SDDV | 15), "\\Device\\Harddisk125\\Partition15"},
+ {"/dev/sddw1", BRACK(FH_SDDW | 1), "\\Device\\Harddisk126\\Partition1"},
+ {"/dev/sddw2", BRACK(FH_SDDW | 2), "\\Device\\Harddisk126\\Partition2"},
+ {"/dev/sddw3", BRACK(FH_SDDW | 3), "\\Device\\Harddisk126\\Partition3"},
+ {"/dev/sddw4", BRACK(FH_SDDW | 4), "\\Device\\Harddisk126\\Partition4"},
+ {"/dev/sddw5", BRACK(FH_SDDW | 5), "\\Device\\Harddisk126\\Partition5"},
+ {"/dev/sddw6", BRACK(FH_SDDW | 6), "\\Device\\Harddisk126\\Partition6"},
+ {"/dev/sddw7", BRACK(FH_SDDW | 7), "\\Device\\Harddisk126\\Partition7"},
+ {"/dev/sddw8", BRACK(FH_SDDW | 8), "\\Device\\Harddisk126\\Partition8"},
+ {"/dev/sddw9", BRACK(FH_SDDW | 9), "\\Device\\Harddisk126\\Partition9"},
+ {"/dev/sddw10", BRACK(FH_SDDW | 10), "\\Device\\Harddisk126\\Partition10"},
+ {"/dev/sddw11", BRACK(FH_SDDW | 11), "\\Device\\Harddisk126\\Partition11"},
+ {"/dev/sddw12", BRACK(FH_SDDW | 12), "\\Device\\Harddisk126\\Partition12"},
+ {"/dev/sddw13", BRACK(FH_SDDW | 13), "\\Device\\Harddisk126\\Partition13"},
+ {"/dev/sddw14", BRACK(FH_SDDW | 14), "\\Device\\Harddisk126\\Partition14"},
+ {"/dev/sddw15", BRACK(FH_SDDW | 15), "\\Device\\Harddisk126\\Partition15"},
+ {"/dev/sddx1", BRACK(FH_SDDX | 1), "\\Device\\Harddisk127\\Partition1"},
+ {"/dev/sddx2", BRACK(FH_SDDX | 2), "\\Device\\Harddisk127\\Partition2"},
+ {"/dev/sddx3", BRACK(FH_SDDX | 3), "\\Device\\Harddisk127\\Partition3"},
+ {"/dev/sddx4", BRACK(FH_SDDX | 4), "\\Device\\Harddisk127\\Partition4"},
+ {"/dev/sddx5", BRACK(FH_SDDX | 5), "\\Device\\Harddisk127\\Partition5"},
+ {"/dev/sddx6", BRACK(FH_SDDX | 6), "\\Device\\Harddisk127\\Partition6"},
+ {"/dev/sddx7", BRACK(FH_SDDX | 7), "\\Device\\Harddisk127\\Partition7"},
+ {"/dev/sddx8", BRACK(FH_SDDX | 8), "\\Device\\Harddisk127\\Partition8"},
+ {"/dev/sddx9", BRACK(FH_SDDX | 9), "\\Device\\Harddisk127\\Partition9"},
+ {"/dev/sddx10", BRACK(FH_SDDX | 10), "\\Device\\Harddisk127\\Partition10"},
+ {"/dev/sddx11", BRACK(FH_SDDX | 11), "\\Device\\Harddisk127\\Partition11"},
+ {"/dev/sddx12", BRACK(FH_SDDX | 12), "\\Device\\Harddisk127\\Partition12"},
+ {"/dev/sddx13", BRACK(FH_SDDX | 13), "\\Device\\Harddisk127\\Partition13"},
+ {"/dev/sddx14", BRACK(FH_SDDX | 14), "\\Device\\Harddisk127\\Partition14"},
+ {"/dev/sddx15", BRACK(FH_SDDX | 15), "\\Device\\Harddisk127\\Partition15"},
+ {"/dev/sr0", BRACK(FHDEV(DEV_CDROM_MAJOR, 0)), "\\Device\\CdRom0"},
+ {"/dev/sr1", BRACK(FHDEV(DEV_CDROM_MAJOR, 1)), "\\Device\\CdRom1"},
+ {"/dev/sr2", BRACK(FHDEV(DEV_CDROM_MAJOR, 2)), "\\Device\\CdRom2"},
+ {"/dev/sr3", BRACK(FHDEV(DEV_CDROM_MAJOR, 3)), "\\Device\\CdRom3"},
+ {"/dev/sr4", BRACK(FHDEV(DEV_CDROM_MAJOR, 4)), "\\Device\\CdRom4"},
+ {"/dev/sr5", BRACK(FHDEV(DEV_CDROM_MAJOR, 5)), "\\Device\\CdRom5"},
+ {"/dev/sr6", BRACK(FHDEV(DEV_CDROM_MAJOR, 6)), "\\Device\\CdRom6"},
+ {"/dev/sr7", BRACK(FHDEV(DEV_CDROM_MAJOR, 7)), "\\Device\\CdRom7"},
+ {"/dev/sr8", BRACK(FHDEV(DEV_CDROM_MAJOR, 8)), "\\Device\\CdRom8"},
+ {"/dev/sr9", BRACK(FHDEV(DEV_CDROM_MAJOR, 9)), "\\Device\\CdRom9"},
+ {"/dev/sr10", BRACK(FHDEV(DEV_CDROM_MAJOR, 10)), "\\Device\\CdRom10"},
+ {"/dev/sr11", BRACK(FHDEV(DEV_CDROM_MAJOR, 11)), "\\Device\\CdRom11"},
+ {"/dev/sr12", BRACK(FHDEV(DEV_CDROM_MAJOR, 12)), "\\Device\\CdRom12"},
+ {"/dev/sr13", BRACK(FHDEV(DEV_CDROM_MAJOR, 13)), "\\Device\\CdRom13"},
+ {"/dev/sr14", BRACK(FHDEV(DEV_CDROM_MAJOR, 14)), "\\Device\\CdRom14"},
+ {"/dev/sr15", BRACK(FHDEV(DEV_CDROM_MAJOR, 15)), "\\Device\\CdRom15"},
+ {"/dev/st0", BRACK(FHDEV(DEV_TAPE_MAJOR, 0)), "\\Device\\Tape0"},
+ {"/dev/st1", BRACK(FHDEV(DEV_TAPE_MAJOR, 1)), "\\Device\\Tape1"},
+ {"/dev/st2", BRACK(FHDEV(DEV_TAPE_MAJOR, 2)), "\\Device\\Tape2"},
+ {"/dev/st3", BRACK(FHDEV(DEV_TAPE_MAJOR, 3)), "\\Device\\Tape3"},
+ {"/dev/st4", BRACK(FHDEV(DEV_TAPE_MAJOR, 4)), "\\Device\\Tape4"},
+ {"/dev/st5", BRACK(FHDEV(DEV_TAPE_MAJOR, 5)), "\\Device\\Tape5"},
+ {"/dev/st6", BRACK(FHDEV(DEV_TAPE_MAJOR, 6)), "\\Device\\Tape6"},
+ {"/dev/st7", BRACK(FHDEV(DEV_TAPE_MAJOR, 7)), "\\Device\\Tape7"},
+ {"/dev/st8", BRACK(FHDEV(DEV_TAPE_MAJOR, 8)), "\\Device\\Tape8"},
+ {"/dev/st9", BRACK(FHDEV(DEV_TAPE_MAJOR, 9)), "\\Device\\Tape9"},
+ {"/dev/st10", BRACK(FHDEV(DEV_TAPE_MAJOR, 10)), "\\Device\\Tape10"},
+ {"/dev/st11", BRACK(FHDEV(DEV_TAPE_MAJOR, 11)), "\\Device\\Tape11"},
+ {"/dev/st12", BRACK(FHDEV(DEV_TAPE_MAJOR, 12)), "\\Device\\Tape12"},
+ {"/dev/st13", BRACK(FHDEV(DEV_TAPE_MAJOR, 13)), "\\Device\\Tape13"},
+ {"/dev/st14", BRACK(FHDEV(DEV_TAPE_MAJOR, 14)), "\\Device\\Tape14"},
+ {"/dev/st15", BRACK(FHDEV(DEV_TAPE_MAJOR, 15)), "\\Device\\Tape15"},
+ {"/dev/st16", BRACK(FHDEV(DEV_TAPE_MAJOR, 16)), "\\Device\\Tape16"},
+ {"/dev/st17", BRACK(FHDEV(DEV_TAPE_MAJOR, 17)), "\\Device\\Tape17"},
+ {"/dev/st18", BRACK(FHDEV(DEV_TAPE_MAJOR, 18)), "\\Device\\Tape18"},
+ {"/dev/st19", BRACK(FHDEV(DEV_TAPE_MAJOR, 19)), "\\Device\\Tape19"},
+ {"/dev/st20", BRACK(FHDEV(DEV_TAPE_MAJOR, 20)), "\\Device\\Tape20"},
+ {"/dev/st21", BRACK(FHDEV(DEV_TAPE_MAJOR, 21)), "\\Device\\Tape21"},
+ {"/dev/st22", BRACK(FHDEV(DEV_TAPE_MAJOR, 22)), "\\Device\\Tape22"},
+ {"/dev/st23", BRACK(FHDEV(DEV_TAPE_MAJOR, 23)), "\\Device\\Tape23"},
+ {"/dev/st24", BRACK(FHDEV(DEV_TAPE_MAJOR, 24)), "\\Device\\Tape24"},
+ {"/dev/st25", BRACK(FHDEV(DEV_TAPE_MAJOR, 25)), "\\Device\\Tape25"},
+ {"/dev/st26", BRACK(FHDEV(DEV_TAPE_MAJOR, 26)), "\\Device\\Tape26"},
+ {"/dev/st27", BRACK(FHDEV(DEV_TAPE_MAJOR, 27)), "\\Device\\Tape27"},
+ {"/dev/st28", BRACK(FHDEV(DEV_TAPE_MAJOR, 28)), "\\Device\\Tape28"},
+ {"/dev/st29", BRACK(FHDEV(DEV_TAPE_MAJOR, 29)), "\\Device\\Tape29"},
+ {"/dev/st30", BRACK(FHDEV(DEV_TAPE_MAJOR, 30)), "\\Device\\Tape30"},
+ {"/dev/st31", BRACK(FHDEV(DEV_TAPE_MAJOR, 31)), "\\Device\\Tape31"},
+ {"/dev/st32", BRACK(FHDEV(DEV_TAPE_MAJOR, 32)), "\\Device\\Tape32"},
+ {"/dev/st33", BRACK(FHDEV(DEV_TAPE_MAJOR, 33)), "\\Device\\Tape33"},
+ {"/dev/st34", BRACK(FHDEV(DEV_TAPE_MAJOR, 34)), "\\Device\\Tape34"},
+ {"/dev/st35", BRACK(FHDEV(DEV_TAPE_MAJOR, 35)), "\\Device\\Tape35"},
+ {"/dev/st36", BRACK(FHDEV(DEV_TAPE_MAJOR, 36)), "\\Device\\Tape36"},
+ {"/dev/st37", BRACK(FHDEV(DEV_TAPE_MAJOR, 37)), "\\Device\\Tape37"},
+ {"/dev/st38", BRACK(FHDEV(DEV_TAPE_MAJOR, 38)), "\\Device\\Tape38"},
+ {"/dev/st39", BRACK(FHDEV(DEV_TAPE_MAJOR, 39)), "\\Device\\Tape39"},
+ {"/dev/st40", BRACK(FHDEV(DEV_TAPE_MAJOR, 40)), "\\Device\\Tape40"},
+ {"/dev/st41", BRACK(FHDEV(DEV_TAPE_MAJOR, 41)), "\\Device\\Tape41"},
+ {"/dev/st42", BRACK(FHDEV(DEV_TAPE_MAJOR, 42)), "\\Device\\Tape42"},
+ {"/dev/st43", BRACK(FHDEV(DEV_TAPE_MAJOR, 43)), "\\Device\\Tape43"},
+ {"/dev/st44", BRACK(FHDEV(DEV_TAPE_MAJOR, 44)), "\\Device\\Tape44"},
+ {"/dev/st45", BRACK(FHDEV(DEV_TAPE_MAJOR, 45)), "\\Device\\Tape45"},
+ {"/dev/st46", BRACK(FHDEV(DEV_TAPE_MAJOR, 46)), "\\Device\\Tape46"},
+ {"/dev/st47", BRACK(FHDEV(DEV_TAPE_MAJOR, 47)), "\\Device\\Tape47"},
+ {"/dev/st48", BRACK(FHDEV(DEV_TAPE_MAJOR, 48)), "\\Device\\Tape48"},
+ {"/dev/st49", BRACK(FHDEV(DEV_TAPE_MAJOR, 49)), "\\Device\\Tape49"},
+ {"/dev/st50", BRACK(FHDEV(DEV_TAPE_MAJOR, 50)), "\\Device\\Tape50"},
+ {"/dev/st51", BRACK(FHDEV(DEV_TAPE_MAJOR, 51)), "\\Device\\Tape51"},
+ {"/dev/st52", BRACK(FHDEV(DEV_TAPE_MAJOR, 52)), "\\Device\\Tape52"},
+ {"/dev/st53", BRACK(FHDEV(DEV_TAPE_MAJOR, 53)), "\\Device\\Tape53"},
+ {"/dev/st54", BRACK(FHDEV(DEV_TAPE_MAJOR, 54)), "\\Device\\Tape54"},
+ {"/dev/st55", BRACK(FHDEV(DEV_TAPE_MAJOR, 55)), "\\Device\\Tape55"},
+ {"/dev/st56", BRACK(FHDEV(DEV_TAPE_MAJOR, 56)), "\\Device\\Tape56"},
+ {"/dev/st57", BRACK(FHDEV(DEV_TAPE_MAJOR, 57)), "\\Device\\Tape57"},
+ {"/dev/st58", BRACK(FHDEV(DEV_TAPE_MAJOR, 58)), "\\Device\\Tape58"},
+ {"/dev/st59", BRACK(FHDEV(DEV_TAPE_MAJOR, 59)), "\\Device\\Tape59"},
+ {"/dev/st60", BRACK(FHDEV(DEV_TAPE_MAJOR, 60)), "\\Device\\Tape60"},
+ {"/dev/st61", BRACK(FHDEV(DEV_TAPE_MAJOR, 61)), "\\Device\\Tape61"},
+ {"/dev/st62", BRACK(FHDEV(DEV_TAPE_MAJOR, 62)), "\\Device\\Tape62"},
+ {"/dev/st63", BRACK(FHDEV(DEV_TAPE_MAJOR, 63)), "\\Device\\Tape63"},
+ {"/dev/st64", BRACK(FHDEV(DEV_TAPE_MAJOR, 64)), "\\Device\\Tape64"},
+ {"/dev/st65", BRACK(FHDEV(DEV_TAPE_MAJOR, 65)), "\\Device\\Tape65"},
+ {"/dev/st66", BRACK(FHDEV(DEV_TAPE_MAJOR, 66)), "\\Device\\Tape66"},
+ {"/dev/st67", BRACK(FHDEV(DEV_TAPE_MAJOR, 67)), "\\Device\\Tape67"},
+ {"/dev/st68", BRACK(FHDEV(DEV_TAPE_MAJOR, 68)), "\\Device\\Tape68"},
+ {"/dev/st69", BRACK(FHDEV(DEV_TAPE_MAJOR, 69)), "\\Device\\Tape69"},
+ {"/dev/st70", BRACK(FHDEV(DEV_TAPE_MAJOR, 70)), "\\Device\\Tape70"},
+ {"/dev/st71", BRACK(FHDEV(DEV_TAPE_MAJOR, 71)), "\\Device\\Tape71"},
+ {"/dev/st72", BRACK(FHDEV(DEV_TAPE_MAJOR, 72)), "\\Device\\Tape72"},
+ {"/dev/st73", BRACK(FHDEV(DEV_TAPE_MAJOR, 73)), "\\Device\\Tape73"},
+ {"/dev/st74", BRACK(FHDEV(DEV_TAPE_MAJOR, 74)), "\\Device\\Tape74"},
+ {"/dev/st75", BRACK(FHDEV(DEV_TAPE_MAJOR, 75)), "\\Device\\Tape75"},
+ {"/dev/st76", BRACK(FHDEV(DEV_TAPE_MAJOR, 76)), "\\Device\\Tape76"},
+ {"/dev/st77", BRACK(FHDEV(DEV_TAPE_MAJOR, 77)), "\\Device\\Tape77"},
+ {"/dev/st78", BRACK(FHDEV(DEV_TAPE_MAJOR, 78)), "\\Device\\Tape78"},
+ {"/dev/st79", BRACK(FHDEV(DEV_TAPE_MAJOR, 79)), "\\Device\\Tape79"},
+ {"/dev/st80", BRACK(FHDEV(DEV_TAPE_MAJOR, 80)), "\\Device\\Tape80"},
+ {"/dev/st81", BRACK(FHDEV(DEV_TAPE_MAJOR, 81)), "\\Device\\Tape81"},
+ {"/dev/st82", BRACK(FHDEV(DEV_TAPE_MAJOR, 82)), "\\Device\\Tape82"},
+ {"/dev/st83", BRACK(FHDEV(DEV_TAPE_MAJOR, 83)), "\\Device\\Tape83"},
+ {"/dev/st84", BRACK(FHDEV(DEV_TAPE_MAJOR, 84)), "\\Device\\Tape84"},
+ {"/dev/st85", BRACK(FHDEV(DEV_TAPE_MAJOR, 85)), "\\Device\\Tape85"},
+ {"/dev/st86", BRACK(FHDEV(DEV_TAPE_MAJOR, 86)), "\\Device\\Tape86"},
+ {"/dev/st87", BRACK(FHDEV(DEV_TAPE_MAJOR, 87)), "\\Device\\Tape87"},
+ {"/dev/st88", BRACK(FHDEV(DEV_TAPE_MAJOR, 88)), "\\Device\\Tape88"},
+ {"/dev/st89", BRACK(FHDEV(DEV_TAPE_MAJOR, 89)), "\\Device\\Tape89"},
+ {"/dev/st90", BRACK(FHDEV(DEV_TAPE_MAJOR, 90)), "\\Device\\Tape90"},
+ {"/dev/st91", BRACK(FHDEV(DEV_TAPE_MAJOR, 91)), "\\Device\\Tape91"},
+ {"/dev/st92", BRACK(FHDEV(DEV_TAPE_MAJOR, 92)), "\\Device\\Tape92"},
+ {"/dev/st93", BRACK(FHDEV(DEV_TAPE_MAJOR, 93)), "\\Device\\Tape93"},
+ {"/dev/st94", BRACK(FHDEV(DEV_TAPE_MAJOR, 94)), "\\Device\\Tape94"},
+ {"/dev/st95", BRACK(FHDEV(DEV_TAPE_MAJOR, 95)), "\\Device\\Tape95"},
+ {"/dev/st96", BRACK(FHDEV(DEV_TAPE_MAJOR, 96)), "\\Device\\Tape96"},
+ {"/dev/st97", BRACK(FHDEV(DEV_TAPE_MAJOR, 97)), "\\Device\\Tape97"},
+ {"/dev/st98", BRACK(FHDEV(DEV_TAPE_MAJOR, 98)), "\\Device\\Tape98"},
+ {"/dev/st99", BRACK(FHDEV(DEV_TAPE_MAJOR, 99)), "\\Device\\Tape99"},
+ {"/dev/st100", BRACK(FHDEV(DEV_TAPE_MAJOR, 100)), "\\Device\\Tape100"},
+ {"/dev/st101", BRACK(FHDEV(DEV_TAPE_MAJOR, 101)), "\\Device\\Tape101"},
+ {"/dev/st102", BRACK(FHDEV(DEV_TAPE_MAJOR, 102)), "\\Device\\Tape102"},
+ {"/dev/st103", BRACK(FHDEV(DEV_TAPE_MAJOR, 103)), "\\Device\\Tape103"},
+ {"/dev/st104", BRACK(FHDEV(DEV_TAPE_MAJOR, 104)), "\\Device\\Tape104"},
+ {"/dev/st105", BRACK(FHDEV(DEV_TAPE_MAJOR, 105)), "\\Device\\Tape105"},
+ {"/dev/st106", BRACK(FHDEV(DEV_TAPE_MAJOR, 106)), "\\Device\\Tape106"},
+ {"/dev/st107", BRACK(FHDEV(DEV_TAPE_MAJOR, 107)), "\\Device\\Tape107"},
+ {"/dev/st108", BRACK(FHDEV(DEV_TAPE_MAJOR, 108)), "\\Device\\Tape108"},
+ {"/dev/st109", BRACK(FHDEV(DEV_TAPE_MAJOR, 109)), "\\Device\\Tape109"},
+ {"/dev/st110", BRACK(FHDEV(DEV_TAPE_MAJOR, 110)), "\\Device\\Tape110"},
+ {"/dev/st111", BRACK(FHDEV(DEV_TAPE_MAJOR, 111)), "\\Device\\Tape111"},
+ {"/dev/st112", BRACK(FHDEV(DEV_TAPE_MAJOR, 112)), "\\Device\\Tape112"},
+ {"/dev/st113", BRACK(FHDEV(DEV_TAPE_MAJOR, 113)), "\\Device\\Tape113"},
+ {"/dev/st114", BRACK(FHDEV(DEV_TAPE_MAJOR, 114)), "\\Device\\Tape114"},
+ {"/dev/st115", BRACK(FHDEV(DEV_TAPE_MAJOR, 115)), "\\Device\\Tape115"},
+ {"/dev/st116", BRACK(FHDEV(DEV_TAPE_MAJOR, 116)), "\\Device\\Tape116"},
+ {"/dev/st117", BRACK(FHDEV(DEV_TAPE_MAJOR, 117)), "\\Device\\Tape117"},
+ {"/dev/st118", BRACK(FHDEV(DEV_TAPE_MAJOR, 118)), "\\Device\\Tape118"},
+ {"/dev/st119", BRACK(FHDEV(DEV_TAPE_MAJOR, 119)), "\\Device\\Tape119"},
+ {"/dev/st120", BRACK(FHDEV(DEV_TAPE_MAJOR, 120)), "\\Device\\Tape120"},
+ {"/dev/st121", BRACK(FHDEV(DEV_TAPE_MAJOR, 121)), "\\Device\\Tape121"},
+ {"/dev/st122", BRACK(FHDEV(DEV_TAPE_MAJOR, 122)), "\\Device\\Tape122"},
+ {"/dev/st123", BRACK(FHDEV(DEV_TAPE_MAJOR, 123)), "\\Device\\Tape123"},
+ {"/dev/st124", BRACK(FHDEV(DEV_TAPE_MAJOR, 124)), "\\Device\\Tape124"},
+ {"/dev/st125", BRACK(FHDEV(DEV_TAPE_MAJOR, 125)), "\\Device\\Tape125"},
+ {"/dev/st126", BRACK(FHDEV(DEV_TAPE_MAJOR, 126)), "\\Device\\Tape126"},
+ {"/dev/st127", BRACK(FHDEV(DEV_TAPE_MAJOR, 127)), "\\Device\\Tape127"},
+ {"/dev/tty", BRACK(FH_TTY), "/dev/tty"},
+ {"/dev/ttyS0", BRACK(FHDEV(DEV_SERIAL_MAJOR, 0)), "\\??\\COM1"},
+ {"/dev/ttyS1", BRACK(FHDEV(DEV_SERIAL_MAJOR, 1)), "\\??\\COM2"},
+ {"/dev/ttyS2", BRACK(FHDEV(DEV_SERIAL_MAJOR, 2)), "\\??\\COM3"},
+ {"/dev/ttyS3", BRACK(FHDEV(DEV_SERIAL_MAJOR, 3)), "\\??\\COM4"},
+ {"/dev/ttyS4", BRACK(FHDEV(DEV_SERIAL_MAJOR, 4)), "\\??\\COM5"},
+ {"/dev/ttyS5", BRACK(FHDEV(DEV_SERIAL_MAJOR, 5)), "\\??\\COM6"},
+ {"/dev/ttyS6", BRACK(FHDEV(DEV_SERIAL_MAJOR, 6)), "\\??\\COM7"},
+ {"/dev/ttyS7", BRACK(FHDEV(DEV_SERIAL_MAJOR, 7)), "\\??\\COM8"},
+ {"/dev/ttyS8", BRACK(FHDEV(DEV_SERIAL_MAJOR, 8)), "\\??\\COM9"},
+ {"/dev/ttyS9", BRACK(FHDEV(DEV_SERIAL_MAJOR, 9)), "\\??\\COM10"},
+ {"/dev/ttyS10", BRACK(FHDEV(DEV_SERIAL_MAJOR, 10)), "\\??\\COM11"},
+ {"/dev/ttyS11", BRACK(FHDEV(DEV_SERIAL_MAJOR, 11)), "\\??\\COM12"},
+ {"/dev/ttyS12", BRACK(FHDEV(DEV_SERIAL_MAJOR, 12)), "\\??\\COM13"},
+ {"/dev/ttyS13", BRACK(FHDEV(DEV_SERIAL_MAJOR, 13)), "\\??\\COM14"},
+ {"/dev/ttyS14", BRACK(FHDEV(DEV_SERIAL_MAJOR, 14)), "\\??\\COM15"},
+ {"/dev/ttyS15", BRACK(FHDEV(DEV_SERIAL_MAJOR, 15)), "\\??\\COM16"},
+ {"/dev/ttyS16", BRACK(FHDEV(DEV_SERIAL_MAJOR, 16)), "\\??\\COM17"},
+ {"/dev/ttyS17", BRACK(FHDEV(DEV_SERIAL_MAJOR, 17)), "\\??\\COM18"},
+ {"/dev/ttyS18", BRACK(FHDEV(DEV_SERIAL_MAJOR, 18)), "\\??\\COM19"},
+ {"/dev/ttyS19", BRACK(FHDEV(DEV_SERIAL_MAJOR, 19)), "\\??\\COM20"},
+ {"/dev/ttyS20", BRACK(FHDEV(DEV_SERIAL_MAJOR, 20)), "\\??\\COM21"},
+ {"/dev/ttyS21", BRACK(FHDEV(DEV_SERIAL_MAJOR, 21)), "\\??\\COM22"},
+ {"/dev/ttyS22", BRACK(FHDEV(DEV_SERIAL_MAJOR, 22)), "\\??\\COM23"},
+ {"/dev/ttyS23", BRACK(FHDEV(DEV_SERIAL_MAJOR, 23)), "\\??\\COM24"},
+ {"/dev/ttyS24", BRACK(FHDEV(DEV_SERIAL_MAJOR, 24)), "\\??\\COM25"},
+ {"/dev/ttyS25", BRACK(FHDEV(DEV_SERIAL_MAJOR, 25)), "\\??\\COM26"},
+ {"/dev/ttyS26", BRACK(FHDEV(DEV_SERIAL_MAJOR, 26)), "\\??\\COM27"},
+ {"/dev/ttyS27", BRACK(FHDEV(DEV_SERIAL_MAJOR, 27)), "\\??\\COM28"},
+ {"/dev/ttyS28", BRACK(FHDEV(DEV_SERIAL_MAJOR, 28)), "\\??\\COM29"},
+ {"/dev/ttyS29", BRACK(FHDEV(DEV_SERIAL_MAJOR, 29)), "\\??\\COM30"},
+ {"/dev/ttyS30", BRACK(FHDEV(DEV_SERIAL_MAJOR, 30)), "\\??\\COM31"},
+ {"/dev/ttyS31", BRACK(FHDEV(DEV_SERIAL_MAJOR, 31)), "\\??\\COM32"},
+ {"/dev/ttyS32", BRACK(FHDEV(DEV_SERIAL_MAJOR, 32)), "\\??\\COM33"},
+ {"/dev/ttyS33", BRACK(FHDEV(DEV_SERIAL_MAJOR, 33)), "\\??\\COM34"},
+ {"/dev/ttyS34", BRACK(FHDEV(DEV_SERIAL_MAJOR, 34)), "\\??\\COM35"},
+ {"/dev/ttyS35", BRACK(FHDEV(DEV_SERIAL_MAJOR, 35)), "\\??\\COM36"},
+ {"/dev/ttyS36", BRACK(FHDEV(DEV_SERIAL_MAJOR, 36)), "\\??\\COM37"},
+ {"/dev/ttyS37", BRACK(FHDEV(DEV_SERIAL_MAJOR, 37)), "\\??\\COM38"},
+ {"/dev/ttyS38", BRACK(FHDEV(DEV_SERIAL_MAJOR, 38)), "\\??\\COM39"},
+ {"/dev/ttyS39", BRACK(FHDEV(DEV_SERIAL_MAJOR, 39)), "\\??\\COM40"},
+ {"/dev/ttyS40", BRACK(FHDEV(DEV_SERIAL_MAJOR, 40)), "\\??\\COM41"},
+ {"/dev/ttyS41", BRACK(FHDEV(DEV_SERIAL_MAJOR, 41)), "\\??\\COM42"},
+ {"/dev/ttyS42", BRACK(FHDEV(DEV_SERIAL_MAJOR, 42)), "\\??\\COM43"},
+ {"/dev/ttyS43", BRACK(FHDEV(DEV_SERIAL_MAJOR, 43)), "\\??\\COM44"},
+ {"/dev/ttyS44", BRACK(FHDEV(DEV_SERIAL_MAJOR, 44)), "\\??\\COM45"},
+ {"/dev/ttyS45", BRACK(FHDEV(DEV_SERIAL_MAJOR, 45)), "\\??\\COM46"},
+ {"/dev/ttyS46", BRACK(FHDEV(DEV_SERIAL_MAJOR, 46)), "\\??\\COM47"},
+ {"/dev/ttyS47", BRACK(FHDEV(DEV_SERIAL_MAJOR, 47)), "\\??\\COM48"},
+ {"/dev/ttyS48", BRACK(FHDEV(DEV_SERIAL_MAJOR, 48)), "\\??\\COM49"},
+ {"/dev/ttyS49", BRACK(FHDEV(DEV_SERIAL_MAJOR, 49)), "\\??\\COM50"},
+ {"/dev/ttyS50", BRACK(FHDEV(DEV_SERIAL_MAJOR, 50)), "\\??\\COM51"},
+ {"/dev/ttyS51", BRACK(FHDEV(DEV_SERIAL_MAJOR, 51)), "\\??\\COM52"},
+ {"/dev/ttyS52", BRACK(FHDEV(DEV_SERIAL_MAJOR, 52)), "\\??\\COM53"},
+ {"/dev/ttyS53", BRACK(FHDEV(DEV_SERIAL_MAJOR, 53)), "\\??\\COM54"},
+ {"/dev/ttyS54", BRACK(FHDEV(DEV_SERIAL_MAJOR, 54)), "\\??\\COM55"},
+ {"/dev/ttyS55", BRACK(FHDEV(DEV_SERIAL_MAJOR, 55)), "\\??\\COM56"},
+ {"/dev/ttyS56", BRACK(FHDEV(DEV_SERIAL_MAJOR, 56)), "\\??\\COM57"},
+ {"/dev/ttyS57", BRACK(FHDEV(DEV_SERIAL_MAJOR, 57)), "\\??\\COM58"},
+ {"/dev/ttyS58", BRACK(FHDEV(DEV_SERIAL_MAJOR, 58)), "\\??\\COM59"},
+ {"/dev/ttyS59", BRACK(FHDEV(DEV_SERIAL_MAJOR, 59)), "\\??\\COM60"},
+ {"/dev/ttyS60", BRACK(FHDEV(DEV_SERIAL_MAJOR, 60)), "\\??\\COM61"},
+ {"/dev/ttyS61", BRACK(FHDEV(DEV_SERIAL_MAJOR, 61)), "\\??\\COM62"},
+ {"/dev/ttyS62", BRACK(FHDEV(DEV_SERIAL_MAJOR, 62)), "\\??\\COM63"},
+ {"/dev/ttyS63", BRACK(FHDEV(DEV_SERIAL_MAJOR, 63)), "\\??\\COM64"},
+ {"/dev/urandom", BRACK(FH_URANDOM), "/dev/urandom"},
+ {"/dev/windows", BRACK(FH_WINDOWS), "/dev/windows"},
+ {"/dev/zero", BRACK(FH_ZERO), "/dev/zero"}
};
const device *cons_dev = dev_storage + 20;
const device *console_dev = dev_storage + 84;
-const device *ptym_dev = dev_storage + 2580;
-const device *ptys_dev = dev_storage + 237;
-const device *urandom_dev = dev_storage + 2575;
+const device *ptym_dev = dev_storage + 303;
+const device *ptys_dev = dev_storage + 239;
+const device *urandom_dev = dev_storage + 2641;
static KR_device_t KR_find_keyword (const char *KR_keyword, int KR_length)
@@ -2814,1077 +2741,6 @@ return NULL;
}
}
- case 5:
- switch (KR_keyword [1])
- {
- case 'p':
- if (strncmp (KR_keyword, ":pipe", 5) == 0)
- {
-{
-return dev_storage + 2579;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case 'f':
- if (strncmp (KR_keyword, ":fifo", 5) == 0)
- {
-{
-return dev_storage + 2578;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- default:
-{
-return NULL;
-
-}
- }
- case 6:
- switch (KR_keyword [5])
- {
- case '9':
- if (strncmp (KR_keyword, ":ptym9", 6) == 0)
- {
-{
-return dev_storage + 2589;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '8':
- if (strncmp (KR_keyword, ":ptym8", 6) == 0)
- {
-{
-return dev_storage + 2588;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '7':
- if (strncmp (KR_keyword, ":ptym7", 6) == 0)
- {
-{
-return dev_storage + 2587;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '6':
- if (strncmp (KR_keyword, ":ptym6", 6) == 0)
- {
-{
-return dev_storage + 2586;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '5':
- if (strncmp (KR_keyword, ":ptym5", 6) == 0)
- {
-{
-return dev_storage + 2585;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '4':
- if (strncmp (KR_keyword, ":ptym4", 6) == 0)
- {
-{
-return dev_storage + 2584;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '3':
- if (strncmp (KR_keyword, ":ptym3", 6) == 0)
- {
-{
-return dev_storage + 2583;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '2':
- if (strncmp (KR_keyword, ":ptym2", 6) == 0)
- {
-{
-return dev_storage + 2582;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '1':
- if (strncmp (KR_keyword, ":ptym1", 6) == 0)
- {
-{
-return dev_storage + 2581;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '0':
- if (strncmp (KR_keyword, ":ptym0", 6) == 0)
- {
-{
-return dev_storage + 2580;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- default:
-{
-return NULL;
-
-}
- }
- case 7:
- switch (KR_keyword [5])
- {
- case '6':
- switch (KR_keyword [6])
- {
- case '3':
- if (strncmp (KR_keyword, ":ptym63", 7) == 0)
- {
-{
-return dev_storage + 2643;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '2':
- if (strncmp (KR_keyword, ":ptym62", 7) == 0)
- {
-{
-return dev_storage + 2642;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '1':
- if (strncmp (KR_keyword, ":ptym61", 7) == 0)
- {
-{
-return dev_storage + 2641;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '0':
- if (strncmp (KR_keyword, ":ptym60", 7) == 0)
- {
-{
-return dev_storage + 2640;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- default:
-{
-return NULL;
-
-}
- }
- case '5':
- switch (KR_keyword [6])
- {
- case '9':
- if (strncmp (KR_keyword, ":ptym59", 7) == 0)
- {
-{
-return dev_storage + 2639;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '8':
- if (strncmp (KR_keyword, ":ptym58", 7) == 0)
- {
-{
-return dev_storage + 2638;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '7':
- if (strncmp (KR_keyword, ":ptym57", 7) == 0)
- {
-{
-return dev_storage + 2637;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '6':
- if (strncmp (KR_keyword, ":ptym56", 7) == 0)
- {
-{
-return dev_storage + 2636;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '5':
- if (strncmp (KR_keyword, ":ptym55", 7) == 0)
- {
-{
-return dev_storage + 2635;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '4':
- if (strncmp (KR_keyword, ":ptym54", 7) == 0)
- {
-{
-return dev_storage + 2634;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '3':
- if (strncmp (KR_keyword, ":ptym53", 7) == 0)
- {
-{
-return dev_storage + 2633;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '2':
- if (strncmp (KR_keyword, ":ptym52", 7) == 0)
- {
-{
-return dev_storage + 2632;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '1':
- if (strncmp (KR_keyword, ":ptym51", 7) == 0)
- {
-{
-return dev_storage + 2631;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '0':
- if (strncmp (KR_keyword, ":ptym50", 7) == 0)
- {
-{
-return dev_storage + 2630;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- default:
-{
-return NULL;
-
-}
- }
- case '4':
- switch (KR_keyword [6])
- {
- case '9':
- if (strncmp (KR_keyword, ":ptym49", 7) == 0)
- {
-{
-return dev_storage + 2629;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '8':
- if (strncmp (KR_keyword, ":ptym48", 7) == 0)
- {
-{
-return dev_storage + 2628;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '7':
- if (strncmp (KR_keyword, ":ptym47", 7) == 0)
- {
-{
-return dev_storage + 2627;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '6':
- if (strncmp (KR_keyword, ":ptym46", 7) == 0)
- {
-{
-return dev_storage + 2626;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '5':
- if (strncmp (KR_keyword, ":ptym45", 7) == 0)
- {
-{
-return dev_storage + 2625;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '4':
- if (strncmp (KR_keyword, ":ptym44", 7) == 0)
- {
-{
-return dev_storage + 2624;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '3':
- if (strncmp (KR_keyword, ":ptym43", 7) == 0)
- {
-{
-return dev_storage + 2623;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '2':
- if (strncmp (KR_keyword, ":ptym42", 7) == 0)
- {
-{
-return dev_storage + 2622;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '1':
- if (strncmp (KR_keyword, ":ptym41", 7) == 0)
- {
-{
-return dev_storage + 2621;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '0':
- if (strncmp (KR_keyword, ":ptym40", 7) == 0)
- {
-{
-return dev_storage + 2620;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- default:
-{
-return NULL;
-
-}
- }
- case '3':
- switch (KR_keyword [6])
- {
- case '9':
- if (strncmp (KR_keyword, ":ptym39", 7) == 0)
- {
-{
-return dev_storage + 2619;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '8':
- if (strncmp (KR_keyword, ":ptym38", 7) == 0)
- {
-{
-return dev_storage + 2618;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '7':
- if (strncmp (KR_keyword, ":ptym37", 7) == 0)
- {
-{
-return dev_storage + 2617;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '6':
- if (strncmp (KR_keyword, ":ptym36", 7) == 0)
- {
-{
-return dev_storage + 2616;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '5':
- if (strncmp (KR_keyword, ":ptym35", 7) == 0)
- {
-{
-return dev_storage + 2615;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '4':
- if (strncmp (KR_keyword, ":ptym34", 7) == 0)
- {
-{
-return dev_storage + 2614;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '3':
- if (strncmp (KR_keyword, ":ptym33", 7) == 0)
- {
-{
-return dev_storage + 2613;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '2':
- if (strncmp (KR_keyword, ":ptym32", 7) == 0)
- {
-{
-return dev_storage + 2612;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '1':
- if (strncmp (KR_keyword, ":ptym31", 7) == 0)
- {
-{
-return dev_storage + 2611;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '0':
- if (strncmp (KR_keyword, ":ptym30", 7) == 0)
- {
-{
-return dev_storage + 2610;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- default:
-{
-return NULL;
-
-}
- }
- case '2':
- switch (KR_keyword [6])
- {
- case '9':
- if (strncmp (KR_keyword, ":ptym29", 7) == 0)
- {
-{
-return dev_storage + 2609;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '8':
- if (strncmp (KR_keyword, ":ptym28", 7) == 0)
- {
-{
-return dev_storage + 2608;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '7':
- if (strncmp (KR_keyword, ":ptym27", 7) == 0)
- {
-{
-return dev_storage + 2607;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '6':
- if (strncmp (KR_keyword, ":ptym26", 7) == 0)
- {
-{
-return dev_storage + 2606;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '5':
- if (strncmp (KR_keyword, ":ptym25", 7) == 0)
- {
-{
-return dev_storage + 2605;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '4':
- if (strncmp (KR_keyword, ":ptym24", 7) == 0)
- {
-{
-return dev_storage + 2604;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '3':
- if (strncmp (KR_keyword, ":ptym23", 7) == 0)
- {
-{
-return dev_storage + 2603;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '2':
- if (strncmp (KR_keyword, ":ptym22", 7) == 0)
- {
-{
-return dev_storage + 2602;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '1':
- if (strncmp (KR_keyword, ":ptym21", 7) == 0)
- {
-{
-return dev_storage + 2601;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '0':
- if (strncmp (KR_keyword, ":ptym20", 7) == 0)
- {
-{
-return dev_storage + 2600;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- default:
-{
-return NULL;
-
-}
- }
- case '1':
- switch (KR_keyword [6])
- {
- case '9':
- if (strncmp (KR_keyword, ":ptym19", 7) == 0)
- {
-{
-return dev_storage + 2599;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '8':
- if (strncmp (KR_keyword, ":ptym18", 7) == 0)
- {
-{
-return dev_storage + 2598;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '7':
- if (strncmp (KR_keyword, ":ptym17", 7) == 0)
- {
-{
-return dev_storage + 2597;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '6':
- if (strncmp (KR_keyword, ":ptym16", 7) == 0)
- {
-{
-return dev_storage + 2596;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '5':
- if (strncmp (KR_keyword, ":ptym15", 7) == 0)
- {
-{
-return dev_storage + 2595;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '4':
- if (strncmp (KR_keyword, ":ptym14", 7) == 0)
- {
-{
-return dev_storage + 2594;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '3':
- if (strncmp (KR_keyword, ":ptym13", 7) == 0)
- {
-{
-return dev_storage + 2593;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '2':
- if (strncmp (KR_keyword, ":ptym12", 7) == 0)
- {
-{
-return dev_storage + 2592;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '1':
- if (strncmp (KR_keyword, ":ptym11", 7) == 0)
- {
-{
-return dev_storage + 2591;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- case '0':
- if (strncmp (KR_keyword, ":ptym10", 7) == 0)
- {
-{
-return dev_storage + 2590;
-
-}
- }
- else
- {
-{
-return NULL;
-
-}
- }
- default:
-{
-return NULL;
-
-}
- }
- default:
-{
-return NULL;
-
-}
- }
case 8:
switch (KR_keyword [7])
{
@@ -3892,7 +2748,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz", 8) == 0)
{
{
-return dev_storage + 343;
+return dev_storage + 409;
}
}
@@ -3910,7 +2766,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/tty", 8) == 0)
{
{
-return dev_storage + 2510;
+return dev_storage + 2576;
}
}
@@ -3925,7 +2781,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy", 8) == 0)
{
{
-return dev_storage + 342;
+return dev_storage + 408;
}
}
@@ -3946,7 +2802,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx", 8) == 0)
{
{
-return dev_storage + 341;
+return dev_storage + 407;
}
}
@@ -3961,7 +2817,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw", 8) == 0)
{
{
-return dev_storage + 340;
+return dev_storage + 406;
}
}
@@ -3976,7 +2832,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv", 8) == 0)
{
{
-return dev_storage + 339;
+return dev_storage + 405;
}
}
@@ -3991,7 +2847,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu", 8) == 0)
{
{
-return dev_storage + 338;
+return dev_storage + 404;
}
}
@@ -4006,7 +2862,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt", 8) == 0)
{
{
-return dev_storage + 337;
+return dev_storage + 403;
}
}
@@ -4021,7 +2877,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds", 8) == 0)
{
{
-return dev_storage + 336;
+return dev_storage + 402;
}
}
@@ -4036,7 +2892,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr", 8) == 0)
{
{
-return dev_storage + 335;
+return dev_storage + 401;
}
}
@@ -4051,7 +2907,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq", 8) == 0)
{
{
-return dev_storage + 334;
+return dev_storage + 400;
}
}
@@ -4069,7 +2925,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp", 8) == 0)
{
{
-return dev_storage + 333;
+return dev_storage + 399;
}
}
@@ -4105,7 +2961,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo", 8) == 0)
{
{
-return dev_storage + 332;
+return dev_storage + 398;
}
}
@@ -4120,7 +2976,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn", 8) == 0)
{
{
-return dev_storage + 331;
+return dev_storage + 397;
}
}
@@ -4138,7 +2994,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm", 8) == 0)
{
{
-return dev_storage + 330;
+return dev_storage + 396;
}
}
@@ -4153,7 +3009,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/mem", 8) == 0)
{
{
-return dev_storage + 105;
+return dev_storage + 106;
}
}
@@ -4174,7 +3030,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl", 8) == 0)
{
{
-return dev_storage + 329;
+return dev_storage + 395;
}
}
@@ -4189,7 +3045,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk", 8) == 0)
{
{
-return dev_storage + 328;
+return dev_storage + 394;
}
}
@@ -4204,7 +3060,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj", 8) == 0)
{
{
-return dev_storage + 327;
+return dev_storage + 393;
}
}
@@ -4219,7 +3075,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi", 8) == 0)
{
{
-return dev_storage + 326;
+return dev_storage + 392;
}
}
@@ -4234,7 +3090,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh", 8) == 0)
{
{
-return dev_storage + 325;
+return dev_storage + 391;
}
}
@@ -4249,7 +3105,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg", 8) == 0)
{
{
-return dev_storage + 324;
+return dev_storage + 390;
}
}
@@ -4264,7 +3120,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf", 8) == 0)
{
{
-return dev_storage + 323;
+return dev_storage + 389;
}
}
@@ -4279,7 +3135,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde", 8) == 0)
{
{
-return dev_storage + 322;
+return dev_storage + 388;
}
}
@@ -4294,7 +3150,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd", 8) == 0)
{
{
-return dev_storage + 321;
+return dev_storage + 387;
}
}
@@ -4309,7 +3165,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc", 8) == 0)
{
{
-return dev_storage + 320;
+return dev_storage + 386;
}
}
@@ -4324,7 +3180,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb", 8) == 0)
{
{
-return dev_storage + 319;
+return dev_storage + 385;
}
}
@@ -4339,7 +3195,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda", 8) == 0)
{
{
-return dev_storage + 318;
+return dev_storage + 384;
}
}
@@ -4357,7 +3213,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st9", 8) == 0)
{
{
-return dev_storage + 2391;
+return dev_storage + 2457;
}
}
@@ -4372,7 +3228,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr9", 8) == 0)
{
{
-return dev_storage + 2375;
+return dev_storage + 2441;
}
}
@@ -4411,7 +3267,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st8", 8) == 0)
{
{
-return dev_storage + 2390;
+return dev_storage + 2456;
}
}
@@ -4426,7 +3282,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr8", 8) == 0)
{
{
-return dev_storage + 2374;
+return dev_storage + 2440;
}
}
@@ -4465,7 +3321,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st7", 8) == 0)
{
{
-return dev_storage + 2389;
+return dev_storage + 2455;
}
}
@@ -4480,7 +3336,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr7", 8) == 0)
{
{
-return dev_storage + 2373;
+return dev_storage + 2439;
}
}
@@ -4519,7 +3375,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st6", 8) == 0)
{
{
-return dev_storage + 2388;
+return dev_storage + 2454;
}
}
@@ -4534,7 +3390,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr6", 8) == 0)
{
{
-return dev_storage + 2372;
+return dev_storage + 2438;
}
}
@@ -4573,7 +3429,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st5", 8) == 0)
{
{
-return dev_storage + 2387;
+return dev_storage + 2453;
}
}
@@ -4588,7 +3444,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr5", 8) == 0)
{
{
-return dev_storage + 2371;
+return dev_storage + 2437;
}
}
@@ -4627,7 +3483,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st4", 8) == 0)
{
{
-return dev_storage + 2386;
+return dev_storage + 2452;
}
}
@@ -4642,7 +3498,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr4", 8) == 0)
{
{
-return dev_storage + 2370;
+return dev_storage + 2436;
}
}
@@ -4681,7 +3537,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st3", 8) == 0)
{
{
-return dev_storage + 2385;
+return dev_storage + 2451;
}
}
@@ -4696,7 +3552,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr3", 8) == 0)
{
{
-return dev_storage + 2369;
+return dev_storage + 2435;
}
}
@@ -4735,7 +3591,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st2", 8) == 0)
{
{
-return dev_storage + 2384;
+return dev_storage + 2450;
}
}
@@ -4750,7 +3606,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr2", 8) == 0)
{
{
-return dev_storage + 2368;
+return dev_storage + 2434;
}
}
@@ -4789,7 +3645,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st1", 8) == 0)
{
{
-return dev_storage + 2383;
+return dev_storage + 2449;
}
}
@@ -4804,7 +3660,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr1", 8) == 0)
{
{
-return dev_storage + 2367;
+return dev_storage + 2433;
}
}
@@ -4843,7 +3699,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st0", 8) == 0)
{
{
-return dev_storage + 2382;
+return dev_storage + 2448;
}
}
@@ -4858,7 +3714,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr0", 8) == 0)
{
{
-return dev_storage + 2366;
+return dev_storage + 2432;
}
}
@@ -4906,7 +3762,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz9", 9) == 0)
{
{
-return dev_storage + 727;
+return dev_storage + 793;
}
}
@@ -4921,7 +3777,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz8", 9) == 0)
{
{
-return dev_storage + 726;
+return dev_storage + 792;
}
}
@@ -4936,7 +3792,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz7", 9) == 0)
{
{
-return dev_storage + 725;
+return dev_storage + 791;
}
}
@@ -4951,7 +3807,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz6", 9) == 0)
{
{
-return dev_storage + 724;
+return dev_storage + 790;
}
}
@@ -4966,7 +3822,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz5", 9) == 0)
{
{
-return dev_storage + 723;
+return dev_storage + 789;
}
}
@@ -4981,7 +3837,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz4", 9) == 0)
{
{
-return dev_storage + 722;
+return dev_storage + 788;
}
}
@@ -4996,7 +3852,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz3", 9) == 0)
{
{
-return dev_storage + 721;
+return dev_storage + 787;
}
}
@@ -5011,7 +3867,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz2", 9) == 0)
{
{
-return dev_storage + 720;
+return dev_storage + 786;
}
}
@@ -5026,7 +3882,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz1", 9) == 0)
{
{
-return dev_storage + 719;
+return dev_storage + 785;
}
}
@@ -5053,7 +3909,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy9", 9) == 0)
{
{
-return dev_storage + 712;
+return dev_storage + 778;
}
}
@@ -5068,7 +3924,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty9", 9) == 0)
{
{
-return dev_storage + 246;
+return dev_storage + 248;
}
}
@@ -5092,7 +3948,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy8", 9) == 0)
{
{
-return dev_storage + 711;
+return dev_storage + 777;
}
}
@@ -5107,7 +3963,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty8", 9) == 0)
{
{
-return dev_storage + 245;
+return dev_storage + 247;
}
}
@@ -5131,7 +3987,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy7", 9) == 0)
{
{
-return dev_storage + 710;
+return dev_storage + 776;
}
}
@@ -5146,7 +4002,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty7", 9) == 0)
{
{
-return dev_storage + 244;
+return dev_storage + 246;
}
}
@@ -5170,7 +4026,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy6", 9) == 0)
{
{
-return dev_storage + 709;
+return dev_storage + 775;
}
}
@@ -5185,7 +4041,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty6", 9) == 0)
{
{
-return dev_storage + 243;
+return dev_storage + 245;
}
}
@@ -5209,7 +4065,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy5", 9) == 0)
{
{
-return dev_storage + 708;
+return dev_storage + 774;
}
}
@@ -5224,7 +4080,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty5", 9) == 0)
{
{
-return dev_storage + 242;
+return dev_storage + 244;
}
}
@@ -5248,7 +4104,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy4", 9) == 0)
{
{
-return dev_storage + 707;
+return dev_storage + 773;
}
}
@@ -5263,7 +4119,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty4", 9) == 0)
{
{
-return dev_storage + 241;
+return dev_storage + 243;
}
}
@@ -5287,7 +4143,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy3", 9) == 0)
{
{
-return dev_storage + 706;
+return dev_storage + 772;
}
}
@@ -5302,7 +4158,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty3", 9) == 0)
{
{
-return dev_storage + 240;
+return dev_storage + 242;
}
}
@@ -5326,7 +4182,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy2", 9) == 0)
{
{
-return dev_storage + 705;
+return dev_storage + 771;
}
}
@@ -5341,7 +4197,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty2", 9) == 0)
{
{
-return dev_storage + 239;
+return dev_storage + 241;
}
}
@@ -5365,7 +4221,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy1", 9) == 0)
{
{
-return dev_storage + 704;
+return dev_storage + 770;
}
}
@@ -5380,7 +4236,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty1", 9) == 0)
{
{
-return dev_storage + 238;
+return dev_storage + 240;
}
}
@@ -5401,7 +4257,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty0", 9) == 0)
{
{
-return dev_storage + 237;
+return dev_storage + 239;
}
}
@@ -5425,7 +4281,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx9", 9) == 0)
{
{
-return dev_storage + 697;
+return dev_storage + 763;
}
}
@@ -5440,7 +4296,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx8", 9) == 0)
{
{
-return dev_storage + 696;
+return dev_storage + 762;
}
}
@@ -5455,7 +4311,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx7", 9) == 0)
{
{
-return dev_storage + 695;
+return dev_storage + 761;
}
}
@@ -5470,7 +4326,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx6", 9) == 0)
{
{
-return dev_storage + 694;
+return dev_storage + 760;
}
}
@@ -5485,7 +4341,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx5", 9) == 0)
{
{
-return dev_storage + 693;
+return dev_storage + 759;
}
}
@@ -5500,7 +4356,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx4", 9) == 0)
{
{
-return dev_storage + 692;
+return dev_storage + 758;
}
}
@@ -5515,7 +4371,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx3", 9) == 0)
{
{
-return dev_storage + 691;
+return dev_storage + 757;
}
}
@@ -5530,7 +4386,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx2", 9) == 0)
{
{
-return dev_storage + 690;
+return dev_storage + 756;
}
}
@@ -5545,7 +4401,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx1", 9) == 0)
{
{
-return dev_storage + 689;
+return dev_storage + 755;
}
}
@@ -5569,7 +4425,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw9", 9) == 0)
{
{
-return dev_storage + 682;
+return dev_storage + 748;
}
}
@@ -5584,7 +4440,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw8", 9) == 0)
{
{
-return dev_storage + 681;
+return dev_storage + 747;
}
}
@@ -5599,7 +4455,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw7", 9) == 0)
{
{
-return dev_storage + 680;
+return dev_storage + 746;
}
}
@@ -5614,7 +4470,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw6", 9) == 0)
{
{
-return dev_storage + 679;
+return dev_storage + 745;
}
}
@@ -5629,7 +4485,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw5", 9) == 0)
{
{
-return dev_storage + 678;
+return dev_storage + 744;
}
}
@@ -5644,7 +4500,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw4", 9) == 0)
{
{
-return dev_storage + 677;
+return dev_storage + 743;
}
}
@@ -5659,7 +4515,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw3", 9) == 0)
{
{
-return dev_storage + 676;
+return dev_storage + 742;
}
}
@@ -5674,7 +4530,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw2", 9) == 0)
{
{
-return dev_storage + 675;
+return dev_storage + 741;
}
}
@@ -5689,7 +4545,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw1", 9) == 0)
{
{
-return dev_storage + 674;
+return dev_storage + 740;
}
}
@@ -5713,7 +4569,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv9", 9) == 0)
{
{
-return dev_storage + 667;
+return dev_storage + 733;
}
}
@@ -5728,7 +4584,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv8", 9) == 0)
{
{
-return dev_storage + 666;
+return dev_storage + 732;
}
}
@@ -5743,7 +4599,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv7", 9) == 0)
{
{
-return dev_storage + 665;
+return dev_storage + 731;
}
}
@@ -5758,7 +4614,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv6", 9) == 0)
{
{
-return dev_storage + 664;
+return dev_storage + 730;
}
}
@@ -5773,7 +4629,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv5", 9) == 0)
{
{
-return dev_storage + 663;
+return dev_storage + 729;
}
}
@@ -5788,7 +4644,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv4", 9) == 0)
{
{
-return dev_storage + 662;
+return dev_storage + 728;
}
}
@@ -5803,7 +4659,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv3", 9) == 0)
{
{
-return dev_storage + 661;
+return dev_storage + 727;
}
}
@@ -5818,7 +4674,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv2", 9) == 0)
{
{
-return dev_storage + 660;
+return dev_storage + 726;
}
}
@@ -5833,7 +4689,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv1", 9) == 0)
{
{
-return dev_storage + 659;
+return dev_storage + 725;
}
}
@@ -5857,7 +4713,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu9", 9) == 0)
{
{
-return dev_storage + 652;
+return dev_storage + 718;
}
}
@@ -5872,7 +4728,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu8", 9) == 0)
{
{
-return dev_storage + 651;
+return dev_storage + 717;
}
}
@@ -5887,7 +4743,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu7", 9) == 0)
{
{
-return dev_storage + 650;
+return dev_storage + 716;
}
}
@@ -5902,7 +4758,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu6", 9) == 0)
{
{
-return dev_storage + 649;
+return dev_storage + 715;
}
}
@@ -5917,7 +4773,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu5", 9) == 0)
{
{
-return dev_storage + 648;
+return dev_storage + 714;
}
}
@@ -5932,7 +4788,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu4", 9) == 0)
{
{
-return dev_storage + 647;
+return dev_storage + 713;
}
}
@@ -5947,7 +4803,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu3", 9) == 0)
{
{
-return dev_storage + 646;
+return dev_storage + 712;
}
}
@@ -5962,7 +4818,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu2", 9) == 0)
{
{
-return dev_storage + 645;
+return dev_storage + 711;
}
}
@@ -5977,7 +4833,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu1", 9) == 0)
{
{
-return dev_storage + 644;
+return dev_storage + 710;
}
}
@@ -6004,7 +4860,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt9", 9) == 0)
{
{
-return dev_storage + 637;
+return dev_storage + 703;
}
}
@@ -6019,7 +4875,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst9", 9) == 0)
{
{
-return dev_storage + 115;
+return dev_storage + 116;
}
}
@@ -6043,7 +4899,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt8", 9) == 0)
{
{
-return dev_storage + 636;
+return dev_storage + 702;
}
}
@@ -6058,7 +4914,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst8", 9) == 0)
{
{
-return dev_storage + 114;
+return dev_storage + 115;
}
}
@@ -6082,7 +4938,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt7", 9) == 0)
{
{
-return dev_storage + 635;
+return dev_storage + 701;
}
}
@@ -6097,7 +4953,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst7", 9) == 0)
{
{
-return dev_storage + 113;
+return dev_storage + 114;
}
}
@@ -6121,7 +4977,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt6", 9) == 0)
{
{
-return dev_storage + 634;
+return dev_storage + 700;
}
}
@@ -6136,7 +4992,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst6", 9) == 0)
{
{
-return dev_storage + 112;
+return dev_storage + 113;
}
}
@@ -6160,7 +5016,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt5", 9) == 0)
{
{
-return dev_storage + 633;
+return dev_storage + 699;
}
}
@@ -6175,7 +5031,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst5", 9) == 0)
{
{
-return dev_storage + 111;
+return dev_storage + 112;
}
}
@@ -6199,7 +5055,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt4", 9) == 0)
{
{
-return dev_storage + 632;
+return dev_storage + 698;
}
}
@@ -6214,7 +5070,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst4", 9) == 0)
{
{
-return dev_storage + 110;
+return dev_storage + 111;
}
}
@@ -6238,7 +5094,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt3", 9) == 0)
{
{
-return dev_storage + 631;
+return dev_storage + 697;
}
}
@@ -6253,7 +5109,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst3", 9) == 0)
{
{
-return dev_storage + 109;
+return dev_storage + 110;
}
}
@@ -6277,7 +5133,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt2", 9) == 0)
{
{
-return dev_storage + 630;
+return dev_storage + 696;
}
}
@@ -6292,7 +5148,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst2", 9) == 0)
{
{
-return dev_storage + 108;
+return dev_storage + 109;
}
}
@@ -6316,7 +5172,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt1", 9) == 0)
{
{
-return dev_storage + 629;
+return dev_storage + 695;
}
}
@@ -6331,7 +5187,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst1", 9) == 0)
{
{
-return dev_storage + 107;
+return dev_storage + 108;
}
}
@@ -6352,7 +5208,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst0", 9) == 0)
{
{
-return dev_storage + 106;
+return dev_storage + 107;
}
}
@@ -6376,7 +5232,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/kmsg", 9) == 0)
{
{
-return dev_storage + 104;
+return dev_storage + 105;
}
}
@@ -6391,7 +5247,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds9", 9) == 0)
{
{
-return dev_storage + 622;
+return dev_storage + 688;
}
}
@@ -6406,7 +5262,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds8", 9) == 0)
{
{
-return dev_storage + 621;
+return dev_storage + 687;
}
}
@@ -6421,7 +5277,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds7", 9) == 0)
{
{
-return dev_storage + 620;
+return dev_storage + 686;
}
}
@@ -6436,7 +5292,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds6", 9) == 0)
{
{
-return dev_storage + 619;
+return dev_storage + 685;
}
}
@@ -6451,7 +5307,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds5", 9) == 0)
{
{
-return dev_storage + 618;
+return dev_storage + 684;
}
}
@@ -6466,7 +5322,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds4", 9) == 0)
{
{
-return dev_storage + 617;
+return dev_storage + 683;
}
}
@@ -6481,7 +5337,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds3", 9) == 0)
{
{
-return dev_storage + 616;
+return dev_storage + 682;
}
}
@@ -6496,7 +5352,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds2", 9) == 0)
{
{
-return dev_storage + 615;
+return dev_storage + 681;
}
}
@@ -6511,7 +5367,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds1", 9) == 0)
{
{
-return dev_storage + 614;
+return dev_storage + 680;
}
}
@@ -6535,7 +5391,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/port", 9) == 0)
{
{
-return dev_storage + 235;
+return dev_storage + 237;
}
}
@@ -6550,7 +5406,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/zero", 9) == 0)
{
{
-return dev_storage + 2577;
+return dev_storage + 2643;
}
}
@@ -6565,7 +5421,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr9", 9) == 0)
{
{
-return dev_storage + 607;
+return dev_storage + 673;
}
}
@@ -6580,7 +5436,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr8", 9) == 0)
{
{
-return dev_storage + 606;
+return dev_storage + 672;
}
}
@@ -6595,7 +5451,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr7", 9) == 0)
{
{
-return dev_storage + 605;
+return dev_storage + 671;
}
}
@@ -6610,7 +5466,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr6", 9) == 0)
{
{
-return dev_storage + 604;
+return dev_storage + 670;
}
}
@@ -6625,7 +5481,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr5", 9) == 0)
{
{
-return dev_storage + 603;
+return dev_storage + 669;
}
}
@@ -6640,7 +5496,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr4", 9) == 0)
{
{
-return dev_storage + 602;
+return dev_storage + 668;
}
}
@@ -6655,7 +5511,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr3", 9) == 0)
{
{
-return dev_storage + 601;
+return dev_storage + 667;
}
}
@@ -6670,7 +5526,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr2", 9) == 0)
{
{
-return dev_storage + 600;
+return dev_storage + 666;
}
}
@@ -6685,7 +5541,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr1", 9) == 0)
{
{
-return dev_storage + 599;
+return dev_storage + 665;
}
}
@@ -6709,7 +5565,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq9", 9) == 0)
{
{
-return dev_storage + 592;
+return dev_storage + 658;
}
}
@@ -6724,7 +5580,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq8", 9) == 0)
{
{
-return dev_storage + 591;
+return dev_storage + 657;
}
}
@@ -6739,7 +5595,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq7", 9) == 0)
{
{
-return dev_storage + 590;
+return dev_storage + 656;
}
}
@@ -6754,7 +5610,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq6", 9) == 0)
{
{
-return dev_storage + 589;
+return dev_storage + 655;
}
}
@@ -6769,7 +5625,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq5", 9) == 0)
{
{
-return dev_storage + 588;
+return dev_storage + 654;
}
}
@@ -6784,7 +5640,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq4", 9) == 0)
{
{
-return dev_storage + 587;
+return dev_storage + 653;
}
}
@@ -6799,7 +5655,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq3", 9) == 0)
{
{
-return dev_storage + 586;
+return dev_storage + 652;
}
}
@@ -6814,7 +5670,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq2", 9) == 0)
{
{
-return dev_storage + 585;
+return dev_storage + 651;
}
}
@@ -6829,7 +5685,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq1", 9) == 0)
{
{
-return dev_storage + 584;
+return dev_storage + 650;
}
}
@@ -6849,11 +5705,26 @@ return NULL;
case 'p':
switch (KR_keyword [8])
{
+ case 'e':
+ if (strncmp (KR_keyword, "/dev/pipe", 9) == 0)
+ {
+{
+return dev_storage + 236;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
case '9':
if (strncmp (KR_keyword, "/dev/sdp9", 9) == 0)
{
{
-return dev_storage + 577;
+return dev_storage + 643;
}
}
@@ -6868,7 +5739,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp8", 9) == 0)
{
{
-return dev_storage + 576;
+return dev_storage + 642;
}
}
@@ -6883,7 +5754,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp7", 9) == 0)
{
{
-return dev_storage + 575;
+return dev_storage + 641;
}
}
@@ -6898,7 +5769,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp6", 9) == 0)
{
{
-return dev_storage + 574;
+return dev_storage + 640;
}
}
@@ -6913,7 +5784,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp5", 9) == 0)
{
{
-return dev_storage + 573;
+return dev_storage + 639;
}
}
@@ -6928,7 +5799,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp4", 9) == 0)
{
{
-return dev_storage + 572;
+return dev_storage + 638;
}
}
@@ -6943,7 +5814,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp3", 9) == 0)
{
{
-return dev_storage + 571;
+return dev_storage + 637;
}
}
@@ -6958,7 +5829,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp2", 9) == 0)
{
{
-return dev_storage + 570;
+return dev_storage + 636;
}
}
@@ -6973,7 +5844,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp1", 9) == 0)
{
{
-return dev_storage + 569;
+return dev_storage + 635;
}
}
@@ -6997,7 +5868,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo9", 9) == 0)
{
{
-return dev_storage + 562;
+return dev_storage + 628;
}
}
@@ -7012,7 +5883,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo8", 9) == 0)
{
{
-return dev_storage + 561;
+return dev_storage + 627;
}
}
@@ -7027,7 +5898,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo7", 9) == 0)
{
{
-return dev_storage + 560;
+return dev_storage + 626;
}
}
@@ -7042,7 +5913,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo6", 9) == 0)
{
{
-return dev_storage + 559;
+return dev_storage + 625;
}
}
@@ -7057,7 +5928,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo5", 9) == 0)
{
{
-return dev_storage + 558;
+return dev_storage + 624;
}
}
@@ -7072,7 +5943,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo4", 9) == 0)
{
{
-return dev_storage + 557;
+return dev_storage + 623;
}
}
@@ -7087,7 +5958,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo3", 9) == 0)
{
{
-return dev_storage + 556;
+return dev_storage + 622;
}
}
@@ -7102,7 +5973,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo2", 9) == 0)
{
{
-return dev_storage + 555;
+return dev_storage + 621;
}
}
@@ -7117,7 +5988,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo1", 9) == 0)
{
{
-return dev_storage + 554;
+return dev_storage + 620;
}
}
@@ -7141,7 +6012,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn9", 9) == 0)
{
{
-return dev_storage + 547;
+return dev_storage + 613;
}
}
@@ -7156,7 +6027,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn8", 9) == 0)
{
{
-return dev_storage + 546;
+return dev_storage + 612;
}
}
@@ -7171,7 +6042,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn7", 9) == 0)
{
{
-return dev_storage + 545;
+return dev_storage + 611;
}
}
@@ -7186,7 +6057,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn6", 9) == 0)
{
{
-return dev_storage + 544;
+return dev_storage + 610;
}
}
@@ -7201,7 +6072,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn5", 9) == 0)
{
{
-return dev_storage + 543;
+return dev_storage + 609;
}
}
@@ -7216,7 +6087,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn4", 9) == 0)
{
{
-return dev_storage + 542;
+return dev_storage + 608;
}
}
@@ -7231,7 +6102,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn3", 9) == 0)
{
{
-return dev_storage + 541;
+return dev_storage + 607;
}
}
@@ -7246,7 +6117,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn2", 9) == 0)
{
{
-return dev_storage + 540;
+return dev_storage + 606;
}
}
@@ -7261,7 +6132,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn1", 9) == 0)
{
{
-return dev_storage + 539;
+return dev_storage + 605;
}
}
@@ -7288,7 +6159,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm9", 9) == 0)
{
{
-return dev_storage + 532;
+return dev_storage + 598;
}
}
@@ -7303,7 +6174,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm8", 9) == 0)
{
{
-return dev_storage + 531;
+return dev_storage + 597;
}
}
@@ -7318,7 +6189,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm7", 9) == 0)
{
{
-return dev_storage + 530;
+return dev_storage + 596;
}
}
@@ -7333,7 +6204,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm6", 9) == 0)
{
{
-return dev_storage + 529;
+return dev_storage + 595;
}
}
@@ -7348,7 +6219,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm5", 9) == 0)
{
{
-return dev_storage + 528;
+return dev_storage + 594;
}
}
@@ -7363,7 +6234,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm4", 9) == 0)
{
{
-return dev_storage + 527;
+return dev_storage + 593;
}
}
@@ -7378,7 +6249,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm3", 9) == 0)
{
{
-return dev_storage + 526;
+return dev_storage + 592;
}
}
@@ -7393,7 +6264,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm2", 9) == 0)
{
{
-return dev_storage + 525;
+return dev_storage + 591;
}
}
@@ -7408,7 +6279,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm1", 9) == 0)
{
{
-return dev_storage + 524;
+return dev_storage + 590;
}
}
@@ -7429,7 +6300,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ptmx", 9) == 0)
{
{
-return dev_storage + 236;
+return dev_storage + 238;
}
}
@@ -7600,7 +6471,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/null", 9) == 0)
{
{
-return dev_storage + 234;
+return dev_storage + 235;
}
}
@@ -7615,7 +6486,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/full", 9) == 0)
{
{
-return dev_storage + 102;
+return dev_storage + 103;
}
}
@@ -7636,7 +6507,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl9", 9) == 0)
{
{
-return dev_storage + 517;
+return dev_storage + 583;
}
}
@@ -7651,7 +6522,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl8", 9) == 0)
{
{
-return dev_storage + 516;
+return dev_storage + 582;
}
}
@@ -7666,7 +6537,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl7", 9) == 0)
{
{
-return dev_storage + 515;
+return dev_storage + 581;
}
}
@@ -7681,7 +6552,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl6", 9) == 0)
{
{
-return dev_storage + 514;
+return dev_storage + 580;
}
}
@@ -7696,7 +6567,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl5", 9) == 0)
{
{
-return dev_storage + 513;
+return dev_storage + 579;
}
}
@@ -7711,7 +6582,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl4", 9) == 0)
{
{
-return dev_storage + 512;
+return dev_storage + 578;
}
}
@@ -7726,7 +6597,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl3", 9) == 0)
{
{
-return dev_storage + 511;
+return dev_storage + 577;
}
}
@@ -7741,7 +6612,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl2", 9) == 0)
{
{
-return dev_storage + 510;
+return dev_storage + 576;
}
}
@@ -7756,7 +6627,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl1", 9) == 0)
{
{
-return dev_storage + 509;
+return dev_storage + 575;
}
}
@@ -7780,7 +6651,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk9", 9) == 0)
{
{
-return dev_storage + 502;
+return dev_storage + 568;
}
}
@@ -7795,7 +6666,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk8", 9) == 0)
{
{
-return dev_storage + 501;
+return dev_storage + 567;
}
}
@@ -7810,7 +6681,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk7", 9) == 0)
{
{
-return dev_storage + 500;
+return dev_storage + 566;
}
}
@@ -7825,7 +6696,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk6", 9) == 0)
{
{
-return dev_storage + 499;
+return dev_storage + 565;
}
}
@@ -7840,7 +6711,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk5", 9) == 0)
{
{
-return dev_storage + 498;
+return dev_storage + 564;
}
}
@@ -7855,7 +6726,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk4", 9) == 0)
{
{
-return dev_storage + 497;
+return dev_storage + 563;
}
}
@@ -7870,7 +6741,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk3", 9) == 0)
{
{
-return dev_storage + 496;
+return dev_storage + 562;
}
}
@@ -7885,7 +6756,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk2", 9) == 0)
{
{
-return dev_storage + 495;
+return dev_storage + 561;
}
}
@@ -7900,7 +6771,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk1", 9) == 0)
{
{
-return dev_storage + 494;
+return dev_storage + 560;
}
}
@@ -7924,7 +6795,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj9", 9) == 0)
{
{
-return dev_storage + 487;
+return dev_storage + 553;
}
}
@@ -7939,7 +6810,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj8", 9) == 0)
{
{
-return dev_storage + 486;
+return dev_storage + 552;
}
}
@@ -7954,7 +6825,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj7", 9) == 0)
{
{
-return dev_storage + 485;
+return dev_storage + 551;
}
}
@@ -7969,7 +6840,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj6", 9) == 0)
{
{
-return dev_storage + 484;
+return dev_storage + 550;
}
}
@@ -7984,7 +6855,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj5", 9) == 0)
{
{
-return dev_storage + 483;
+return dev_storage + 549;
}
}
@@ -7999,7 +6870,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj4", 9) == 0)
{
{
-return dev_storage + 482;
+return dev_storage + 548;
}
}
@@ -8014,7 +6885,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj3", 9) == 0)
{
{
-return dev_storage + 481;
+return dev_storage + 547;
}
}
@@ -8029,7 +6900,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj2", 9) == 0)
{
{
-return dev_storage + 480;
+return dev_storage + 546;
}
}
@@ -8044,7 +6915,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj1", 9) == 0)
{
{
-return dev_storage + 479;
+return dev_storage + 545;
}
}
@@ -8068,7 +6939,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi9", 9) == 0)
{
{
-return dev_storage + 472;
+return dev_storage + 538;
}
}
@@ -8083,7 +6954,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi8", 9) == 0)
{
{
-return dev_storage + 471;
+return dev_storage + 537;
}
}
@@ -8098,7 +6969,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi7", 9) == 0)
{
{
-return dev_storage + 470;
+return dev_storage + 536;
}
}
@@ -8113,7 +6984,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi6", 9) == 0)
{
{
-return dev_storage + 469;
+return dev_storage + 535;
}
}
@@ -8128,7 +6999,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi5", 9) == 0)
{
{
-return dev_storage + 468;
+return dev_storage + 534;
}
}
@@ -8143,7 +7014,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi4", 9) == 0)
{
{
-return dev_storage + 467;
+return dev_storage + 533;
}
}
@@ -8158,7 +7029,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi3", 9) == 0)
{
{
-return dev_storage + 466;
+return dev_storage + 532;
}
}
@@ -8173,7 +7044,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi2", 9) == 0)
{
{
-return dev_storage + 465;
+return dev_storage + 531;
}
}
@@ -8188,7 +7059,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi1", 9) == 0)
{
{
-return dev_storage + 464;
+return dev_storage + 530;
}
}
@@ -8212,7 +7083,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh9", 9) == 0)
{
{
-return dev_storage + 457;
+return dev_storage + 523;
}
}
@@ -8227,7 +7098,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh8", 9) == 0)
{
{
-return dev_storage + 456;
+return dev_storage + 522;
}
}
@@ -8242,7 +7113,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh7", 9) == 0)
{
{
-return dev_storage + 455;
+return dev_storage + 521;
}
}
@@ -8257,7 +7128,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh6", 9) == 0)
{
{
-return dev_storage + 454;
+return dev_storage + 520;
}
}
@@ -8272,7 +7143,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh5", 9) == 0)
{
{
-return dev_storage + 453;
+return dev_storage + 519;
}
}
@@ -8287,7 +7158,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh4", 9) == 0)
{
{
-return dev_storage + 452;
+return dev_storage + 518;
}
}
@@ -8302,7 +7173,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh3", 9) == 0)
{
{
-return dev_storage + 451;
+return dev_storage + 517;
}
}
@@ -8317,7 +7188,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh2", 9) == 0)
{
{
-return dev_storage + 450;
+return dev_storage + 516;
}
}
@@ -8332,7 +7203,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh1", 9) == 0)
{
{
-return dev_storage + 449;
+return dev_storage + 515;
}
}
@@ -8356,7 +7227,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg9", 9) == 0)
{
{
-return dev_storage + 442;
+return dev_storage + 508;
}
}
@@ -8371,7 +7242,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg8", 9) == 0)
{
{
-return dev_storage + 441;
+return dev_storage + 507;
}
}
@@ -8386,7 +7257,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg7", 9) == 0)
{
{
-return dev_storage + 440;
+return dev_storage + 506;
}
}
@@ -8401,7 +7272,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg6", 9) == 0)
{
{
-return dev_storage + 439;
+return dev_storage + 505;
}
}
@@ -8416,7 +7287,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg5", 9) == 0)
{
{
-return dev_storage + 438;
+return dev_storage + 504;
}
}
@@ -8431,7 +7302,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg4", 9) == 0)
{
{
-return dev_storage + 437;
+return dev_storage + 503;
}
}
@@ -8446,7 +7317,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg3", 9) == 0)
{
{
-return dev_storage + 436;
+return dev_storage + 502;
}
}
@@ -8461,7 +7332,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg2", 9) == 0)
{
{
-return dev_storage + 435;
+return dev_storage + 501;
}
}
@@ -8476,7 +7347,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg1", 9) == 0)
{
{
-return dev_storage + 434;
+return dev_storage + 500;
}
}
@@ -8496,11 +7367,26 @@ return NULL;
case 'f':
switch (KR_keyword [8])
{
+ case 'o':
+ if (strncmp (KR_keyword, "/dev/fifo", 9) == 0)
+ {
+{
+return dev_storage + 102;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
case '9':
if (strncmp (KR_keyword, "/dev/sdf9", 9) == 0)
{
{
-return dev_storage + 427;
+return dev_storage + 493;
}
}
@@ -8515,7 +7401,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf8", 9) == 0)
{
{
-return dev_storage + 426;
+return dev_storage + 492;
}
}
@@ -8530,7 +7416,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf7", 9) == 0)
{
{
-return dev_storage + 425;
+return dev_storage + 491;
}
}
@@ -8545,7 +7431,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf6", 9) == 0)
{
{
-return dev_storage + 424;
+return dev_storage + 490;
}
}
@@ -8560,7 +7446,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf5", 9) == 0)
{
{
-return dev_storage + 423;
+return dev_storage + 489;
}
}
@@ -8575,7 +7461,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf4", 9) == 0)
{
{
-return dev_storage + 422;
+return dev_storage + 488;
}
}
@@ -8590,7 +7476,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf3", 9) == 0)
{
{
-return dev_storage + 421;
+return dev_storage + 487;
}
}
@@ -8605,7 +7491,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf2", 9) == 0)
{
{
-return dev_storage + 420;
+return dev_storage + 486;
}
}
@@ -8620,7 +7506,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf1", 9) == 0)
{
{
-return dev_storage + 419;
+return dev_storage + 485;
}
}
@@ -8644,7 +7530,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/kmem", 9) == 0)
{
{
-return dev_storage + 103;
+return dev_storage + 104;
}
}
@@ -8659,7 +7545,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde9", 9) == 0)
{
{
-return dev_storage + 412;
+return dev_storage + 478;
}
}
@@ -8674,7 +7560,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde8", 9) == 0)
{
{
-return dev_storage + 411;
+return dev_storage + 477;
}
}
@@ -8689,7 +7575,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde7", 9) == 0)
{
{
-return dev_storage + 410;
+return dev_storage + 476;
}
}
@@ -8704,7 +7590,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde6", 9) == 0)
{
{
-return dev_storage + 409;
+return dev_storage + 475;
}
}
@@ -8719,7 +7605,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde5", 9) == 0)
{
{
-return dev_storage + 408;
+return dev_storage + 474;
}
}
@@ -8734,7 +7620,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde4", 9) == 0)
{
{
-return dev_storage + 407;
+return dev_storage + 473;
}
}
@@ -8749,7 +7635,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde3", 9) == 0)
{
{
-return dev_storage + 406;
+return dev_storage + 472;
}
}
@@ -8764,7 +7650,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde2", 9) == 0)
{
{
-return dev_storage + 405;
+return dev_storage + 471;
}
}
@@ -8779,7 +7665,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde1", 9) == 0)
{
{
-return dev_storage + 404;
+return dev_storage + 470;
}
}
@@ -8803,7 +7689,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddx", 9) == 0)
{
{
-return dev_storage + 2005;
+return dev_storage + 2071;
}
}
@@ -8818,7 +7704,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddw", 9) == 0)
{
{
-return dev_storage + 2004;
+return dev_storage + 2070;
}
}
@@ -8833,7 +7719,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddv", 9) == 0)
{
{
-return dev_storage + 2003;
+return dev_storage + 2069;
}
}
@@ -8848,7 +7734,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddu", 9) == 0)
{
{
-return dev_storage + 2002;
+return dev_storage + 2068;
}
}
@@ -8863,7 +7749,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddt", 9) == 0)
{
{
-return dev_storage + 2001;
+return dev_storage + 2067;
}
}
@@ -8878,7 +7764,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdds", 9) == 0)
{
{
-return dev_storage + 2000;
+return dev_storage + 2066;
}
}
@@ -8893,7 +7779,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddr", 9) == 0)
{
{
-return dev_storage + 1999;
+return dev_storage + 2065;
}
}
@@ -8908,7 +7794,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddq", 9) == 0)
{
{
-return dev_storage + 1998;
+return dev_storage + 2064;
}
}
@@ -8923,7 +7809,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddp", 9) == 0)
{
{
-return dev_storage + 1997;
+return dev_storage + 2063;
}
}
@@ -8938,7 +7824,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddo", 9) == 0)
{
{
-return dev_storage + 1996;
+return dev_storage + 2062;
}
}
@@ -8953,7 +7839,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddn", 9) == 0)
{
{
-return dev_storage + 1995;
+return dev_storage + 2061;
}
}
@@ -8968,7 +7854,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddm", 9) == 0)
{
{
-return dev_storage + 1994;
+return dev_storage + 2060;
}
}
@@ -8983,7 +7869,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddl", 9) == 0)
{
{
-return dev_storage + 1993;
+return dev_storage + 2059;
}
}
@@ -8998,7 +7884,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddk", 9) == 0)
{
{
-return dev_storage + 1992;
+return dev_storage + 2058;
}
}
@@ -9013,7 +7899,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddj", 9) == 0)
{
{
-return dev_storage + 1991;
+return dev_storage + 2057;
}
}
@@ -9028,7 +7914,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddi", 9) == 0)
{
{
-return dev_storage + 1990;
+return dev_storage + 2056;
}
}
@@ -9043,7 +7929,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddh", 9) == 0)
{
{
-return dev_storage + 1989;
+return dev_storage + 2055;
}
}
@@ -9058,7 +7944,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddg", 9) == 0)
{
{
-return dev_storage + 1988;
+return dev_storage + 2054;
}
}
@@ -9073,7 +7959,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddf", 9) == 0)
{
{
-return dev_storage + 1987;
+return dev_storage + 2053;
}
}
@@ -9088,7 +7974,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdde", 9) == 0)
{
{
-return dev_storage + 1986;
+return dev_storage + 2052;
}
}
@@ -9103,7 +7989,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddd", 9) == 0)
{
{
-return dev_storage + 1985;
+return dev_storage + 2051;
}
}
@@ -9118,7 +8004,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddc", 9) == 0)
{
{
-return dev_storage + 1984;
+return dev_storage + 2050;
}
}
@@ -9133,7 +8019,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddb", 9) == 0)
{
{
-return dev_storage + 1983;
+return dev_storage + 2049;
}
}
@@ -9148,7 +8034,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdda", 9) == 0)
{
{
-return dev_storage + 1982;
+return dev_storage + 2048;
}
}
@@ -9166,7 +8052,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd9", 9) == 0)
{
{
-return dev_storage + 397;
+return dev_storage + 463;
}
}
@@ -9181,7 +8067,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd9", 9) == 0)
{
{
-return dev_storage + 311;
+return dev_storage + 377;
}
}
@@ -9205,7 +8091,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd8", 9) == 0)
{
{
-return dev_storage + 396;
+return dev_storage + 462;
}
}
@@ -9220,7 +8106,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd8", 9) == 0)
{
{
-return dev_storage + 310;
+return dev_storage + 376;
}
}
@@ -9244,7 +8130,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd7", 9) == 0)
{
{
-return dev_storage + 395;
+return dev_storage + 461;
}
}
@@ -9259,7 +8145,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd7", 9) == 0)
{
{
-return dev_storage + 309;
+return dev_storage + 375;
}
}
@@ -9283,7 +8169,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd6", 9) == 0)
{
{
-return dev_storage + 394;
+return dev_storage + 460;
}
}
@@ -9298,7 +8184,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd6", 9) == 0)
{
{
-return dev_storage + 308;
+return dev_storage + 374;
}
}
@@ -9322,7 +8208,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd5", 9) == 0)
{
{
-return dev_storage + 393;
+return dev_storage + 459;
}
}
@@ -9337,7 +8223,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd5", 9) == 0)
{
{
-return dev_storage + 307;
+return dev_storage + 373;
}
}
@@ -9361,7 +8247,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd4", 9) == 0)
{
{
-return dev_storage + 392;
+return dev_storage + 458;
}
}
@@ -9376,7 +8262,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd4", 9) == 0)
{
{
-return dev_storage + 306;
+return dev_storage + 372;
}
}
@@ -9400,7 +8286,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd3", 9) == 0)
{
{
-return dev_storage + 391;
+return dev_storage + 457;
}
}
@@ -9415,7 +8301,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd3", 9) == 0)
{
{
-return dev_storage + 305;
+return dev_storage + 371;
}
}
@@ -9439,7 +8325,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd2", 9) == 0)
{
{
-return dev_storage + 390;
+return dev_storage + 456;
}
}
@@ -9454,7 +8340,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd2", 9) == 0)
{
{
-return dev_storage + 304;
+return dev_storage + 370;
}
}
@@ -9478,7 +8364,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd1", 9) == 0)
{
{
-return dev_storage + 389;
+return dev_storage + 455;
}
}
@@ -9493,7 +8379,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd1", 9) == 0)
{
{
-return dev_storage + 303;
+return dev_storage + 369;
}
}
@@ -9514,7 +8400,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd0", 9) == 0)
{
{
-return dev_storage + 302;
+return dev_storage + 368;
}
}
@@ -9538,7 +8424,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcz", 9) == 0)
{
{
-return dev_storage + 1591;
+return dev_storage + 1657;
}
}
@@ -9553,7 +8439,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcy", 9) == 0)
{
{
-return dev_storage + 1590;
+return dev_storage + 1656;
}
}
@@ -9568,7 +8454,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcx", 9) == 0)
{
{
-return dev_storage + 1589;
+return dev_storage + 1655;
}
}
@@ -9583,7 +8469,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcw", 9) == 0)
{
{
-return dev_storage + 1588;
+return dev_storage + 1654;
}
}
@@ -9598,7 +8484,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcv", 9) == 0)
{
{
-return dev_storage + 1587;
+return dev_storage + 1653;
}
}
@@ -9613,7 +8499,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcu", 9) == 0)
{
{
-return dev_storage + 1586;
+return dev_storage + 1652;
}
}
@@ -9628,7 +8514,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdct", 9) == 0)
{
{
-return dev_storage + 1585;
+return dev_storage + 1651;
}
}
@@ -9643,7 +8529,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcs", 9) == 0)
{
{
-return dev_storage + 1584;
+return dev_storage + 1650;
}
}
@@ -9658,7 +8544,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcr", 9) == 0)
{
{
-return dev_storage + 1583;
+return dev_storage + 1649;
}
}
@@ -9673,7 +8559,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcq", 9) == 0)
{
{
-return dev_storage + 1582;
+return dev_storage + 1648;
}
}
@@ -9688,7 +8574,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcp", 9) == 0)
{
{
-return dev_storage + 1581;
+return dev_storage + 1647;
}
}
@@ -9703,7 +8589,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdco", 9) == 0)
{
{
-return dev_storage + 1580;
+return dev_storage + 1646;
}
}
@@ -9718,7 +8604,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcn", 9) == 0)
{
{
-return dev_storage + 1579;
+return dev_storage + 1645;
}
}
@@ -9733,7 +8619,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcm", 9) == 0)
{
{
-return dev_storage + 1578;
+return dev_storage + 1644;
}
}
@@ -9748,7 +8634,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcl", 9) == 0)
{
{
-return dev_storage + 1577;
+return dev_storage + 1643;
}
}
@@ -9763,7 +8649,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdck", 9) == 0)
{
{
-return dev_storage + 1576;
+return dev_storage + 1642;
}
}
@@ -9778,7 +8664,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcj", 9) == 0)
{
{
-return dev_storage + 1575;
+return dev_storage + 1641;
}
}
@@ -9793,7 +8679,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdci", 9) == 0)
{
{
-return dev_storage + 1574;
+return dev_storage + 1640;
}
}
@@ -9808,7 +8694,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdch", 9) == 0)
{
{
-return dev_storage + 1573;
+return dev_storage + 1639;
}
}
@@ -9823,7 +8709,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcg", 9) == 0)
{
{
-return dev_storage + 1572;
+return dev_storage + 1638;
}
}
@@ -9838,7 +8724,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcf", 9) == 0)
{
{
-return dev_storage + 1571;
+return dev_storage + 1637;
}
}
@@ -9853,7 +8739,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdce", 9) == 0)
{
{
-return dev_storage + 1570;
+return dev_storage + 1636;
}
}
@@ -9868,7 +8754,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcd", 9) == 0)
{
{
-return dev_storage + 1569;
+return dev_storage + 1635;
}
}
@@ -9883,7 +8769,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcc", 9) == 0)
{
{
-return dev_storage + 1568;
+return dev_storage + 1634;
}
}
@@ -9898,7 +8784,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcb", 9) == 0)
{
{
-return dev_storage + 1567;
+return dev_storage + 1633;
}
}
@@ -9913,7 +8799,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdca", 9) == 0)
{
{
-return dev_storage + 1566;
+return dev_storage + 1632;
}
}
@@ -9928,7 +8814,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc9", 9) == 0)
{
{
-return dev_storage + 382;
+return dev_storage + 448;
}
}
@@ -9943,7 +8829,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc8", 9) == 0)
{
{
-return dev_storage + 381;
+return dev_storage + 447;
}
}
@@ -9958,7 +8844,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc7", 9) == 0)
{
{
-return dev_storage + 380;
+return dev_storage + 446;
}
}
@@ -9973,7 +8859,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc6", 9) == 0)
{
{
-return dev_storage + 379;
+return dev_storage + 445;
}
}
@@ -9988,7 +8874,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc5", 9) == 0)
{
{
-return dev_storage + 378;
+return dev_storage + 444;
}
}
@@ -10003,7 +8889,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc4", 9) == 0)
{
{
-return dev_storage + 377;
+return dev_storage + 443;
}
}
@@ -10018,7 +8904,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc3", 9) == 0)
{
{
-return dev_storage + 376;
+return dev_storage + 442;
}
}
@@ -10033,7 +8919,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc2", 9) == 0)
{
{
-return dev_storage + 375;
+return dev_storage + 441;
}
}
@@ -10048,7 +8934,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc1", 9) == 0)
{
{
-return dev_storage + 374;
+return dev_storage + 440;
}
}
@@ -10072,7 +8958,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbz", 9) == 0)
{
{
-return dev_storage + 1175;
+return dev_storage + 1241;
}
}
@@ -10087,7 +8973,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdby", 9) == 0)
{
{
-return dev_storage + 1174;
+return dev_storage + 1240;
}
}
@@ -10102,7 +8988,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbx", 9) == 0)
{
{
-return dev_storage + 1173;
+return dev_storage + 1239;
}
}
@@ -10117,7 +9003,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbw", 9) == 0)
{
{
-return dev_storage + 1172;
+return dev_storage + 1238;
}
}
@@ -10132,7 +9018,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbv", 9) == 0)
{
{
-return dev_storage + 1171;
+return dev_storage + 1237;
}
}
@@ -10147,7 +9033,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbu", 9) == 0)
{
{
-return dev_storage + 1170;
+return dev_storage + 1236;
}
}
@@ -10162,7 +9048,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbt", 9) == 0)
{
{
-return dev_storage + 1169;
+return dev_storage + 1235;
}
}
@@ -10177,7 +9063,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbs", 9) == 0)
{
{
-return dev_storage + 1168;
+return dev_storage + 1234;
}
}
@@ -10192,7 +9078,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbr", 9) == 0)
{
{
-return dev_storage + 1167;
+return dev_storage + 1233;
}
}
@@ -10207,7 +9093,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbq", 9) == 0)
{
{
-return dev_storage + 1166;
+return dev_storage + 1232;
}
}
@@ -10222,7 +9108,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbp", 9) == 0)
{
{
-return dev_storage + 1165;
+return dev_storage + 1231;
}
}
@@ -10237,7 +9123,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbo", 9) == 0)
{
{
-return dev_storage + 1164;
+return dev_storage + 1230;
}
}
@@ -10252,7 +9138,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbn", 9) == 0)
{
{
-return dev_storage + 1163;
+return dev_storage + 1229;
}
}
@@ -10267,7 +9153,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbm", 9) == 0)
{
{
-return dev_storage + 1162;
+return dev_storage + 1228;
}
}
@@ -10282,7 +9168,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbl", 9) == 0)
{
{
-return dev_storage + 1161;
+return dev_storage + 1227;
}
}
@@ -10297,7 +9183,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbk", 9) == 0)
{
{
-return dev_storage + 1160;
+return dev_storage + 1226;
}
}
@@ -10312,7 +9198,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbj", 9) == 0)
{
{
-return dev_storage + 1159;
+return dev_storage + 1225;
}
}
@@ -10327,7 +9213,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbi", 9) == 0)
{
{
-return dev_storage + 1158;
+return dev_storage + 1224;
}
}
@@ -10342,7 +9228,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbh", 9) == 0)
{
{
-return dev_storage + 1157;
+return dev_storage + 1223;
}
}
@@ -10357,7 +9243,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbg", 9) == 0)
{
{
-return dev_storage + 1156;
+return dev_storage + 1222;
}
}
@@ -10372,7 +9258,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbf", 9) == 0)
{
{
-return dev_storage + 1155;
+return dev_storage + 1221;
}
}
@@ -10387,7 +9273,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbe", 9) == 0)
{
{
-return dev_storage + 1154;
+return dev_storage + 1220;
}
}
@@ -10402,7 +9288,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbd", 9) == 0)
{
{
-return dev_storage + 1153;
+return dev_storage + 1219;
}
}
@@ -10417,7 +9303,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbc", 9) == 0)
{
{
-return dev_storage + 1152;
+return dev_storage + 1218;
}
}
@@ -10432,7 +9318,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbb", 9) == 0)
{
{
-return dev_storage + 1151;
+return dev_storage + 1217;
}
}
@@ -10447,7 +9333,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdba", 9) == 0)
{
{
-return dev_storage + 1150;
+return dev_storage + 1216;
}
}
@@ -10462,7 +9348,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb9", 9) == 0)
{
{
-return dev_storage + 367;
+return dev_storage + 433;
}
}
@@ -10477,7 +9363,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb8", 9) == 0)
{
{
-return dev_storage + 366;
+return dev_storage + 432;
}
}
@@ -10492,7 +9378,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb7", 9) == 0)
{
{
-return dev_storage + 365;
+return dev_storage + 431;
}
}
@@ -10507,7 +9393,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb6", 9) == 0)
{
{
-return dev_storage + 364;
+return dev_storage + 430;
}
}
@@ -10522,7 +9408,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb5", 9) == 0)
{
{
-return dev_storage + 363;
+return dev_storage + 429;
}
}
@@ -10537,7 +9423,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb4", 9) == 0)
{
{
-return dev_storage + 362;
+return dev_storage + 428;
}
}
@@ -10552,7 +9438,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb3", 9) == 0)
{
{
-return dev_storage + 361;
+return dev_storage + 427;
}
}
@@ -10567,7 +9453,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb2", 9) == 0)
{
{
-return dev_storage + 360;
+return dev_storage + 426;
}
}
@@ -10582,7 +9468,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb1", 9) == 0)
{
{
-return dev_storage + 359;
+return dev_storage + 425;
}
}
@@ -10606,7 +9492,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaz", 9) == 0)
{
{
-return dev_storage + 759;
+return dev_storage + 825;
}
}
@@ -10621,7 +9507,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sday", 9) == 0)
{
{
-return dev_storage + 758;
+return dev_storage + 824;
}
}
@@ -10636,7 +9522,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdax", 9) == 0)
{
{
-return dev_storage + 757;
+return dev_storage + 823;
}
}
@@ -10651,7 +9537,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaw", 9) == 0)
{
{
-return dev_storage + 756;
+return dev_storage + 822;
}
}
@@ -10666,7 +9552,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdav", 9) == 0)
{
{
-return dev_storage + 755;
+return dev_storage + 821;
}
}
@@ -10681,7 +9567,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdau", 9) == 0)
{
{
-return dev_storage + 754;
+return dev_storage + 820;
}
}
@@ -10696,7 +9582,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdat", 9) == 0)
{
{
-return dev_storage + 753;
+return dev_storage + 819;
}
}
@@ -10711,7 +9597,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdas", 9) == 0)
{
{
-return dev_storage + 752;
+return dev_storage + 818;
}
}
@@ -10726,7 +9612,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdar", 9) == 0)
{
{
-return dev_storage + 751;
+return dev_storage + 817;
}
}
@@ -10741,7 +9627,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaq", 9) == 0)
{
{
-return dev_storage + 750;
+return dev_storage + 816;
}
}
@@ -10756,7 +9642,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdap", 9) == 0)
{
{
-return dev_storage + 749;
+return dev_storage + 815;
}
}
@@ -10771,7 +9657,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdao", 9) == 0)
{
{
-return dev_storage + 748;
+return dev_storage + 814;
}
}
@@ -10786,7 +9672,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdan", 9) == 0)
{
{
-return dev_storage + 747;
+return dev_storage + 813;
}
}
@@ -10801,7 +9687,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdam", 9) == 0)
{
{
-return dev_storage + 746;
+return dev_storage + 812;
}
}
@@ -10816,7 +9702,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdal", 9) == 0)
{
{
-return dev_storage + 745;
+return dev_storage + 811;
}
}
@@ -10831,7 +9717,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdak", 9) == 0)
{
{
-return dev_storage + 744;
+return dev_storage + 810;
}
}
@@ -10846,7 +9732,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaj", 9) == 0)
{
{
-return dev_storage + 743;
+return dev_storage + 809;
}
}
@@ -10861,7 +9747,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdai", 9) == 0)
{
{
-return dev_storage + 742;
+return dev_storage + 808;
}
}
@@ -10876,7 +9762,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdah", 9) == 0)
{
{
-return dev_storage + 741;
+return dev_storage + 807;
}
}
@@ -10891,7 +9777,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdag", 9) == 0)
{
{
-return dev_storage + 740;
+return dev_storage + 806;
}
}
@@ -10906,7 +9792,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaf", 9) == 0)
{
{
-return dev_storage + 739;
+return dev_storage + 805;
}
}
@@ -10921,7 +9807,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdae", 9) == 0)
{
{
-return dev_storage + 738;
+return dev_storage + 804;
}
}
@@ -10936,7 +9822,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdad", 9) == 0)
{
{
-return dev_storage + 737;
+return dev_storage + 803;
}
}
@@ -10951,7 +9837,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdac", 9) == 0)
{
{
-return dev_storage + 736;
+return dev_storage + 802;
}
}
@@ -10966,7 +9852,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdab", 9) == 0)
{
{
-return dev_storage + 735;
+return dev_storage + 801;
}
}
@@ -10981,7 +9867,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaa", 9) == 0)
{
{
-return dev_storage + 734;
+return dev_storage + 800;
}
}
@@ -10996,7 +9882,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda9", 9) == 0)
{
{
-return dev_storage + 352;
+return dev_storage + 418;
}
}
@@ -11011,7 +9897,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda8", 9) == 0)
{
{
-return dev_storage + 351;
+return dev_storage + 417;
}
}
@@ -11026,7 +9912,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda7", 9) == 0)
{
{
-return dev_storage + 350;
+return dev_storage + 416;
}
}
@@ -11041,7 +9927,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda6", 9) == 0)
{
{
-return dev_storage + 349;
+return dev_storage + 415;
}
}
@@ -11056,7 +9942,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda5", 9) == 0)
{
{
-return dev_storage + 348;
+return dev_storage + 414;
}
}
@@ -11071,7 +9957,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda4", 9) == 0)
{
{
-return dev_storage + 347;
+return dev_storage + 413;
}
}
@@ -11086,7 +9972,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda3", 9) == 0)
{
{
-return dev_storage + 346;
+return dev_storage + 412;
}
}
@@ -11101,7 +9987,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda2", 9) == 0)
{
{
-return dev_storage + 345;
+return dev_storage + 411;
}
}
@@ -11116,7 +10002,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda1", 9) == 0)
{
{
-return dev_storage + 344;
+return dev_storage + 410;
}
}
@@ -11140,7 +10026,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st99", 9) == 0)
{
{
-return dev_storage + 2481;
+return dev_storage + 2547;
}
}
@@ -11155,7 +10041,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st98", 9) == 0)
{
{
-return dev_storage + 2480;
+return dev_storage + 2546;
}
}
@@ -11170,7 +10056,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st97", 9) == 0)
{
{
-return dev_storage + 2479;
+return dev_storage + 2545;
}
}
@@ -11185,7 +10071,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st96", 9) == 0)
{
{
-return dev_storage + 2478;
+return dev_storage + 2544;
}
}
@@ -11200,7 +10086,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st95", 9) == 0)
{
{
-return dev_storage + 2477;
+return dev_storage + 2543;
}
}
@@ -11215,7 +10101,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st94", 9) == 0)
{
{
-return dev_storage + 2476;
+return dev_storage + 2542;
}
}
@@ -11230,7 +10116,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st93", 9) == 0)
{
{
-return dev_storage + 2475;
+return dev_storage + 2541;
}
}
@@ -11245,7 +10131,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st92", 9) == 0)
{
{
-return dev_storage + 2474;
+return dev_storage + 2540;
}
}
@@ -11260,7 +10146,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st91", 9) == 0)
{
{
-return dev_storage + 2473;
+return dev_storage + 2539;
}
}
@@ -11275,7 +10161,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st90", 9) == 0)
{
{
-return dev_storage + 2472;
+return dev_storage + 2538;
}
}
@@ -11299,7 +10185,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st89", 9) == 0)
{
{
-return dev_storage + 2471;
+return dev_storage + 2537;
}
}
@@ -11314,7 +10200,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st88", 9) == 0)
{
{
-return dev_storage + 2470;
+return dev_storage + 2536;
}
}
@@ -11329,7 +10215,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st87", 9) == 0)
{
{
-return dev_storage + 2469;
+return dev_storage + 2535;
}
}
@@ -11344,7 +10230,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st86", 9) == 0)
{
{
-return dev_storage + 2468;
+return dev_storage + 2534;
}
}
@@ -11359,7 +10245,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st85", 9) == 0)
{
{
-return dev_storage + 2467;
+return dev_storage + 2533;
}
}
@@ -11374,7 +10260,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st84", 9) == 0)
{
{
-return dev_storage + 2466;
+return dev_storage + 2532;
}
}
@@ -11389,7 +10275,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st83", 9) == 0)
{
{
-return dev_storage + 2465;
+return dev_storage + 2531;
}
}
@@ -11404,7 +10290,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st82", 9) == 0)
{
{
-return dev_storage + 2464;
+return dev_storage + 2530;
}
}
@@ -11419,7 +10305,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st81", 9) == 0)
{
{
-return dev_storage + 2463;
+return dev_storage + 2529;
}
}
@@ -11434,7 +10320,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st80", 9) == 0)
{
{
-return dev_storage + 2462;
+return dev_storage + 2528;
}
}
@@ -11458,7 +10344,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st79", 9) == 0)
{
{
-return dev_storage + 2461;
+return dev_storage + 2527;
}
}
@@ -11473,7 +10359,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st78", 9) == 0)
{
{
-return dev_storage + 2460;
+return dev_storage + 2526;
}
}
@@ -11488,7 +10374,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st77", 9) == 0)
{
{
-return dev_storage + 2459;
+return dev_storage + 2525;
}
}
@@ -11503,7 +10389,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st76", 9) == 0)
{
{
-return dev_storage + 2458;
+return dev_storage + 2524;
}
}
@@ -11518,7 +10404,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st75", 9) == 0)
{
{
-return dev_storage + 2457;
+return dev_storage + 2523;
}
}
@@ -11533,7 +10419,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st74", 9) == 0)
{
{
-return dev_storage + 2456;
+return dev_storage + 2522;
}
}
@@ -11548,7 +10434,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st73", 9) == 0)
{
{
-return dev_storage + 2455;
+return dev_storage + 2521;
}
}
@@ -11563,7 +10449,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st72", 9) == 0)
{
{
-return dev_storage + 2454;
+return dev_storage + 2520;
}
}
@@ -11578,7 +10464,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st71", 9) == 0)
{
{
-return dev_storage + 2453;
+return dev_storage + 2519;
}
}
@@ -11593,7 +10479,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st70", 9) == 0)
{
{
-return dev_storage + 2452;
+return dev_storage + 2518;
}
}
@@ -11617,7 +10503,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st69", 9) == 0)
{
{
-return dev_storage + 2451;
+return dev_storage + 2517;
}
}
@@ -11632,7 +10518,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st68", 9) == 0)
{
{
-return dev_storage + 2450;
+return dev_storage + 2516;
}
}
@@ -11647,7 +10533,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st67", 9) == 0)
{
{
-return dev_storage + 2449;
+return dev_storage + 2515;
}
}
@@ -11662,7 +10548,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st66", 9) == 0)
{
{
-return dev_storage + 2448;
+return dev_storage + 2514;
}
}
@@ -11677,7 +10563,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st65", 9) == 0)
{
{
-return dev_storage + 2447;
+return dev_storage + 2513;
}
}
@@ -11692,7 +10578,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st64", 9) == 0)
{
{
-return dev_storage + 2446;
+return dev_storage + 2512;
}
}
@@ -11707,7 +10593,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st63", 9) == 0)
{
{
-return dev_storage + 2445;
+return dev_storage + 2511;
}
}
@@ -11722,7 +10608,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st62", 9) == 0)
{
{
-return dev_storage + 2444;
+return dev_storage + 2510;
}
}
@@ -11737,7 +10623,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st61", 9) == 0)
{
{
-return dev_storage + 2443;
+return dev_storage + 2509;
}
}
@@ -11752,7 +10638,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st60", 9) == 0)
{
{
-return dev_storage + 2442;
+return dev_storage + 2508;
}
}
@@ -11776,7 +10662,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st59", 9) == 0)
{
{
-return dev_storage + 2441;
+return dev_storage + 2507;
}
}
@@ -11791,7 +10677,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st58", 9) == 0)
{
{
-return dev_storage + 2440;
+return dev_storage + 2506;
}
}
@@ -11806,7 +10692,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st57", 9) == 0)
{
{
-return dev_storage + 2439;
+return dev_storage + 2505;
}
}
@@ -11821,7 +10707,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st56", 9) == 0)
{
{
-return dev_storage + 2438;
+return dev_storage + 2504;
}
}
@@ -11836,7 +10722,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st55", 9) == 0)
{
{
-return dev_storage + 2437;
+return dev_storage + 2503;
}
}
@@ -11851,7 +10737,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st54", 9) == 0)
{
{
-return dev_storage + 2436;
+return dev_storage + 2502;
}
}
@@ -11866,7 +10752,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st53", 9) == 0)
{
{
-return dev_storage + 2435;
+return dev_storage + 2501;
}
}
@@ -11881,7 +10767,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st52", 9) == 0)
{
{
-return dev_storage + 2434;
+return dev_storage + 2500;
}
}
@@ -11896,7 +10782,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st51", 9) == 0)
{
{
-return dev_storage + 2433;
+return dev_storage + 2499;
}
}
@@ -11911,7 +10797,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st50", 9) == 0)
{
{
-return dev_storage + 2432;
+return dev_storage + 2498;
}
}
@@ -11935,7 +10821,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st49", 9) == 0)
{
{
-return dev_storage + 2431;
+return dev_storage + 2497;
}
}
@@ -11950,7 +10836,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st48", 9) == 0)
{
{
-return dev_storage + 2430;
+return dev_storage + 2496;
}
}
@@ -11965,7 +10851,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st47", 9) == 0)
{
{
-return dev_storage + 2429;
+return dev_storage + 2495;
}
}
@@ -11980,7 +10866,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st46", 9) == 0)
{
{
-return dev_storage + 2428;
+return dev_storage + 2494;
}
}
@@ -11995,7 +10881,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st45", 9) == 0)
{
{
-return dev_storage + 2427;
+return dev_storage + 2493;
}
}
@@ -12010,7 +10896,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st44", 9) == 0)
{
{
-return dev_storage + 2426;
+return dev_storage + 2492;
}
}
@@ -12025,7 +10911,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st43", 9) == 0)
{
{
-return dev_storage + 2425;
+return dev_storage + 2491;
}
}
@@ -12040,7 +10926,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st42", 9) == 0)
{
{
-return dev_storage + 2424;
+return dev_storage + 2490;
}
}
@@ -12055,7 +10941,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st41", 9) == 0)
{
{
-return dev_storage + 2423;
+return dev_storage + 2489;
}
}
@@ -12070,7 +10956,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st40", 9) == 0)
{
{
-return dev_storage + 2422;
+return dev_storage + 2488;
}
}
@@ -12094,7 +10980,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st39", 9) == 0)
{
{
-return dev_storage + 2421;
+return dev_storage + 2487;
}
}
@@ -12109,7 +10995,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st38", 9) == 0)
{
{
-return dev_storage + 2420;
+return dev_storage + 2486;
}
}
@@ -12124,7 +11010,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st37", 9) == 0)
{
{
-return dev_storage + 2419;
+return dev_storage + 2485;
}
}
@@ -12139,7 +11025,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st36", 9) == 0)
{
{
-return dev_storage + 2418;
+return dev_storage + 2484;
}
}
@@ -12154,7 +11040,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st35", 9) == 0)
{
{
-return dev_storage + 2417;
+return dev_storage + 2483;
}
}
@@ -12169,7 +11055,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st34", 9) == 0)
{
{
-return dev_storage + 2416;
+return dev_storage + 2482;
}
}
@@ -12184,7 +11070,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st33", 9) == 0)
{
{
-return dev_storage + 2415;
+return dev_storage + 2481;
}
}
@@ -12199,7 +11085,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st32", 9) == 0)
{
{
-return dev_storage + 2414;
+return dev_storage + 2480;
}
}
@@ -12214,7 +11100,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st31", 9) == 0)
{
{
-return dev_storage + 2413;
+return dev_storage + 2479;
}
}
@@ -12229,7 +11115,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st30", 9) == 0)
{
{
-return dev_storage + 2412;
+return dev_storage + 2478;
}
}
@@ -12253,7 +11139,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st29", 9) == 0)
{
{
-return dev_storage + 2411;
+return dev_storage + 2477;
}
}
@@ -12268,7 +11154,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st28", 9) == 0)
{
{
-return dev_storage + 2410;
+return dev_storage + 2476;
}
}
@@ -12283,7 +11169,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st27", 9) == 0)
{
{
-return dev_storage + 2409;
+return dev_storage + 2475;
}
}
@@ -12298,7 +11184,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st26", 9) == 0)
{
{
-return dev_storage + 2408;
+return dev_storage + 2474;
}
}
@@ -12313,7 +11199,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st25", 9) == 0)
{
{
-return dev_storage + 2407;
+return dev_storage + 2473;
}
}
@@ -12328,7 +11214,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st24", 9) == 0)
{
{
-return dev_storage + 2406;
+return dev_storage + 2472;
}
}
@@ -12343,7 +11229,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st23", 9) == 0)
{
{
-return dev_storage + 2405;
+return dev_storage + 2471;
}
}
@@ -12358,7 +11244,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st22", 9) == 0)
{
{
-return dev_storage + 2404;
+return dev_storage + 2470;
}
}
@@ -12373,7 +11259,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st21", 9) == 0)
{
{
-return dev_storage + 2403;
+return dev_storage + 2469;
}
}
@@ -12388,7 +11274,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st20", 9) == 0)
{
{
-return dev_storage + 2402;
+return dev_storage + 2468;
}
}
@@ -12412,7 +11298,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st19", 9) == 0)
{
{
-return dev_storage + 2401;
+return dev_storage + 2467;
}
}
@@ -12427,7 +11313,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st18", 9) == 0)
{
{
-return dev_storage + 2400;
+return dev_storage + 2466;
}
}
@@ -12442,7 +11328,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st17", 9) == 0)
{
{
-return dev_storage + 2399;
+return dev_storage + 2465;
}
}
@@ -12457,7 +11343,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st16", 9) == 0)
{
{
-return dev_storage + 2398;
+return dev_storage + 2464;
}
}
@@ -12475,7 +11361,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st15", 9) == 0)
{
{
-return dev_storage + 2397;
+return dev_storage + 2463;
}
}
@@ -12490,7 +11376,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr15", 9) == 0)
{
{
-return dev_storage + 2381;
+return dev_storage + 2447;
}
}
@@ -12529,7 +11415,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st14", 9) == 0)
{
{
-return dev_storage + 2396;
+return dev_storage + 2462;
}
}
@@ -12544,7 +11430,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr14", 9) == 0)
{
{
-return dev_storage + 2380;
+return dev_storage + 2446;
}
}
@@ -12583,7 +11469,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st13", 9) == 0)
{
{
-return dev_storage + 2395;
+return dev_storage + 2461;
}
}
@@ -12598,7 +11484,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr13", 9) == 0)
{
{
-return dev_storage + 2379;
+return dev_storage + 2445;
}
}
@@ -12637,7 +11523,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st12", 9) == 0)
{
{
-return dev_storage + 2394;
+return dev_storage + 2460;
}
}
@@ -12652,7 +11538,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr12", 9) == 0)
{
{
-return dev_storage + 2378;
+return dev_storage + 2444;
}
}
@@ -12691,7 +11577,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st11", 9) == 0)
{
{
-return dev_storage + 2393;
+return dev_storage + 2459;
}
}
@@ -12706,7 +11592,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr11", 9) == 0)
{
{
-return dev_storage + 2377;
+return dev_storage + 2443;
}
}
@@ -12745,7 +11631,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st10", 9) == 0)
{
{
-return dev_storage + 2392;
+return dev_storage + 2458;
}
}
@@ -12760,7 +11646,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sr10", 9) == 0)
{
{
-return dev_storage + 2376;
+return dev_storage + 2442;
}
}
@@ -12832,7 +11718,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcz9", 10) == 0)
{
{
-return dev_storage + 1975;
+return dev_storage + 2041;
}
}
@@ -12847,7 +11733,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbz9", 10) == 0)
{
{
-return dev_storage + 1559;
+return dev_storage + 1625;
}
}
@@ -12862,7 +11748,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaz9", 10) == 0)
{
{
-return dev_storage + 1143;
+return dev_storage + 1209;
}
}
@@ -12886,7 +11772,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcy9", 10) == 0)
{
{
-return dev_storage + 1960;
+return dev_storage + 2026;
}
}
@@ -12901,7 +11787,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdby9", 10) == 0)
{
{
-return dev_storage + 1544;
+return dev_storage + 1610;
}
}
@@ -12916,7 +11802,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sday9", 10) == 0)
{
{
-return dev_storage + 1128;
+return dev_storage + 1194;
}
}
@@ -12940,7 +11826,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddx9", 10) == 0)
{
{
-return dev_storage + 2359;
+return dev_storage + 2425;
}
}
@@ -12955,7 +11841,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcx9", 10) == 0)
{
{
-return dev_storage + 1945;
+return dev_storage + 2011;
}
}
@@ -12970,7 +11856,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbx9", 10) == 0)
{
{
-return dev_storage + 1529;
+return dev_storage + 1595;
}
}
@@ -12985,7 +11871,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdax9", 10) == 0)
{
{
-return dev_storage + 1113;
+return dev_storage + 1179;
}
}
@@ -13009,7 +11895,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddw9", 10) == 0)
{
{
-return dev_storage + 2344;
+return dev_storage + 2410;
}
}
@@ -13024,7 +11910,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcw9", 10) == 0)
{
{
-return dev_storage + 1930;
+return dev_storage + 1996;
}
}
@@ -13039,7 +11925,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbw9", 10) == 0)
{
{
-return dev_storage + 1514;
+return dev_storage + 1580;
}
}
@@ -13054,7 +11940,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaw9", 10) == 0)
{
{
-return dev_storage + 1098;
+return dev_storage + 1164;
}
}
@@ -13078,7 +11964,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddv9", 10) == 0)
{
{
-return dev_storage + 2329;
+return dev_storage + 2395;
}
}
@@ -13093,7 +11979,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcv9", 10) == 0)
{
{
-return dev_storage + 1915;
+return dev_storage + 1981;
}
}
@@ -13108,7 +11994,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbv9", 10) == 0)
{
{
-return dev_storage + 1499;
+return dev_storage + 1565;
}
}
@@ -13123,7 +12009,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdav9", 10) == 0)
{
{
-return dev_storage + 1083;
+return dev_storage + 1149;
}
}
@@ -13147,7 +12033,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddu9", 10) == 0)
{
{
-return dev_storage + 2314;
+return dev_storage + 2380;
}
}
@@ -13162,7 +12048,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcu9", 10) == 0)
{
{
-return dev_storage + 1900;
+return dev_storage + 1966;
}
}
@@ -13177,7 +12063,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbu9", 10) == 0)
{
{
-return dev_storage + 1484;
+return dev_storage + 1550;
}
}
@@ -13192,7 +12078,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdau9", 10) == 0)
{
{
-return dev_storage + 1068;
+return dev_storage + 1134;
}
}
@@ -13216,7 +12102,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddt9", 10) == 0)
{
{
-return dev_storage + 2299;
+return dev_storage + 2365;
}
}
@@ -13231,7 +12117,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdct9", 10) == 0)
{
{
-return dev_storage + 1885;
+return dev_storage + 1951;
}
}
@@ -13246,7 +12132,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbt9", 10) == 0)
{
{
-return dev_storage + 1469;
+return dev_storage + 1535;
}
}
@@ -13261,7 +12147,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdat9", 10) == 0)
{
{
-return dev_storage + 1053;
+return dev_storage + 1119;
}
}
@@ -13300,7 +12186,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdds9", 10) == 0)
{
{
-return dev_storage + 2284;
+return dev_storage + 2350;
}
}
@@ -13315,7 +12201,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcs9", 10) == 0)
{
{
-return dev_storage + 1870;
+return dev_storage + 1936;
}
}
@@ -13330,7 +12216,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbs9", 10) == 0)
{
{
-return dev_storage + 1454;
+return dev_storage + 1520;
}
}
@@ -13345,7 +12231,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdas9", 10) == 0)
{
{
-return dev_storage + 1038;
+return dev_storage + 1104;
}
}
@@ -13369,7 +12255,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddr9", 10) == 0)
{
{
-return dev_storage + 2269;
+return dev_storage + 2335;
}
}
@@ -13384,7 +12270,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcr9", 10) == 0)
{
{
-return dev_storage + 1855;
+return dev_storage + 1921;
}
}
@@ -13399,7 +12285,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbr9", 10) == 0)
{
{
-return dev_storage + 1439;
+return dev_storage + 1505;
}
}
@@ -13414,7 +12300,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdar9", 10) == 0)
{
{
-return dev_storage + 1023;
+return dev_storage + 1089;
}
}
@@ -13438,7 +12324,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddq9", 10) == 0)
{
{
-return dev_storage + 2254;
+return dev_storage + 2320;
}
}
@@ -13453,7 +12339,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcq9", 10) == 0)
{
{
-return dev_storage + 1840;
+return dev_storage + 1906;
}
}
@@ -13468,7 +12354,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbq9", 10) == 0)
{
{
-return dev_storage + 1424;
+return dev_storage + 1490;
}
}
@@ -13483,7 +12369,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaq9", 10) == 0)
{
{
-return dev_storage + 1008;
+return dev_storage + 1074;
}
}
@@ -13507,7 +12393,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddp9", 10) == 0)
{
{
-return dev_storage + 2239;
+return dev_storage + 2305;
}
}
@@ -13522,7 +12408,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcp9", 10) == 0)
{
{
-return dev_storage + 1825;
+return dev_storage + 1891;
}
}
@@ -13537,7 +12423,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbp9", 10) == 0)
{
{
-return dev_storage + 1409;
+return dev_storage + 1475;
}
}
@@ -13552,7 +12438,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdap9", 10) == 0)
{
{
-return dev_storage + 993;
+return dev_storage + 1059;
}
}
@@ -13576,7 +12462,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddo9", 10) == 0)
{
{
-return dev_storage + 2224;
+return dev_storage + 2290;
}
}
@@ -13591,7 +12477,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdco9", 10) == 0)
{
{
-return dev_storage + 1810;
+return dev_storage + 1876;
}
}
@@ -13606,7 +12492,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbo9", 10) == 0)
{
{
-return dev_storage + 1394;
+return dev_storage + 1460;
}
}
@@ -13621,7 +12507,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdao9", 10) == 0)
{
{
-return dev_storage + 978;
+return dev_storage + 1044;
}
}
@@ -13645,7 +12531,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddn9", 10) == 0)
{
{
-return dev_storage + 2209;
+return dev_storage + 2275;
}
}
@@ -13660,7 +12546,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcn9", 10) == 0)
{
{
-return dev_storage + 1795;
+return dev_storage + 1861;
}
}
@@ -13675,7 +12561,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbn9", 10) == 0)
{
{
-return dev_storage + 1379;
+return dev_storage + 1445;
}
}
@@ -13690,7 +12576,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdan9", 10) == 0)
{
{
-return dev_storage + 963;
+return dev_storage + 1029;
}
}
@@ -13710,11 +12596,26 @@ return NULL;
case 'm':
switch (KR_keyword [7])
{
+ case 'y':
+ if (strncmp (KR_keyword, "/dev/ptym9", 10) == 0)
+ {
+{
+return dev_storage + 312;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
case 'd':
if (strncmp (KR_keyword, "/dev/sddm9", 10) == 0)
{
{
-return dev_storage + 2194;
+return dev_storage + 2260;
}
}
@@ -13729,7 +12630,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcm9", 10) == 0)
{
{
-return dev_storage + 1780;
+return dev_storage + 1846;
}
}
@@ -13744,7 +12645,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbm9", 10) == 0)
{
{
-return dev_storage + 1364;
+return dev_storage + 1430;
}
}
@@ -13759,7 +12660,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdam9", 10) == 0)
{
{
-return dev_storage + 948;
+return dev_storage + 1014;
}
}
@@ -13783,7 +12684,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddl9", 10) == 0)
{
{
-return dev_storage + 2179;
+return dev_storage + 2245;
}
}
@@ -13798,7 +12699,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcl9", 10) == 0)
{
{
-return dev_storage + 1765;
+return dev_storage + 1831;
}
}
@@ -13813,7 +12714,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbl9", 10) == 0)
{
{
-return dev_storage + 1349;
+return dev_storage + 1415;
}
}
@@ -13828,7 +12729,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdal9", 10) == 0)
{
{
-return dev_storage + 933;
+return dev_storage + 999;
}
}
@@ -13852,7 +12753,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddk9", 10) == 0)
{
{
-return dev_storage + 2164;
+return dev_storage + 2230;
}
}
@@ -13867,7 +12768,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdck9", 10) == 0)
{
{
-return dev_storage + 1750;
+return dev_storage + 1816;
}
}
@@ -13882,7 +12783,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbk9", 10) == 0)
{
{
-return dev_storage + 1334;
+return dev_storage + 1400;
}
}
@@ -13897,7 +12798,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdak9", 10) == 0)
{
{
-return dev_storage + 918;
+return dev_storage + 984;
}
}
@@ -13921,7 +12822,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddj9", 10) == 0)
{
{
-return dev_storage + 2149;
+return dev_storage + 2215;
}
}
@@ -13936,7 +12837,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcj9", 10) == 0)
{
{
-return dev_storage + 1735;
+return dev_storage + 1801;
}
}
@@ -13951,7 +12852,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbj9", 10) == 0)
{
{
-return dev_storage + 1319;
+return dev_storage + 1385;
}
}
@@ -13966,7 +12867,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaj9", 10) == 0)
{
{
-return dev_storage + 903;
+return dev_storage + 969;
}
}
@@ -13990,7 +12891,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddi9", 10) == 0)
{
{
-return dev_storage + 2134;
+return dev_storage + 2200;
}
}
@@ -14005,7 +12906,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdci9", 10) == 0)
{
{
-return dev_storage + 1720;
+return dev_storage + 1786;
}
}
@@ -14020,7 +12921,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbi9", 10) == 0)
{
{
-return dev_storage + 1304;
+return dev_storage + 1370;
}
}
@@ -14035,7 +12936,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdai9", 10) == 0)
{
{
-return dev_storage + 888;
+return dev_storage + 954;
}
}
@@ -14059,7 +12960,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddh9", 10) == 0)
{
{
-return dev_storage + 2119;
+return dev_storage + 2185;
}
}
@@ -14074,7 +12975,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdch9", 10) == 0)
{
{
-return dev_storage + 1705;
+return dev_storage + 1771;
}
}
@@ -14089,7 +12990,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbh9", 10) == 0)
{
{
-return dev_storage + 1289;
+return dev_storage + 1355;
}
}
@@ -14104,7 +13005,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdah9", 10) == 0)
{
{
-return dev_storage + 873;
+return dev_storage + 939;
}
}
@@ -14128,7 +13029,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddg9", 10) == 0)
{
{
-return dev_storage + 2104;
+return dev_storage + 2170;
}
}
@@ -14143,7 +13044,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcg9", 10) == 0)
{
{
-return dev_storage + 1690;
+return dev_storage + 1756;
}
}
@@ -14158,7 +13059,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbg9", 10) == 0)
{
{
-return dev_storage + 1274;
+return dev_storage + 1340;
}
}
@@ -14173,7 +13074,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdag9", 10) == 0)
{
{
-return dev_storage + 858;
+return dev_storage + 924;
}
}
@@ -14197,7 +13098,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddf9", 10) == 0)
{
{
-return dev_storage + 2089;
+return dev_storage + 2155;
}
}
@@ -14212,7 +13113,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcf9", 10) == 0)
{
{
-return dev_storage + 1675;
+return dev_storage + 1741;
}
}
@@ -14227,7 +13128,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbf9", 10) == 0)
{
{
-return dev_storage + 1259;
+return dev_storage + 1325;
}
}
@@ -14242,7 +13143,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaf9", 10) == 0)
{
{
-return dev_storage + 843;
+return dev_storage + 909;
}
}
@@ -14266,7 +13167,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdde9", 10) == 0)
{
{
-return dev_storage + 2074;
+return dev_storage + 2140;
}
}
@@ -14281,7 +13182,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdce9", 10) == 0)
{
{
-return dev_storage + 1660;
+return dev_storage + 1726;
}
}
@@ -14296,7 +13197,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbe9", 10) == 0)
{
{
-return dev_storage + 1244;
+return dev_storage + 1310;
}
}
@@ -14311,7 +13212,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdae9", 10) == 0)
{
{
-return dev_storage + 828;
+return dev_storage + 894;
}
}
@@ -14335,7 +13236,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddd9", 10) == 0)
{
{
-return dev_storage + 2059;
+return dev_storage + 2125;
}
}
@@ -14350,7 +13251,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcd9", 10) == 0)
{
{
-return dev_storage + 1645;
+return dev_storage + 1711;
}
}
@@ -14365,7 +13266,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbd9", 10) == 0)
{
{
-return dev_storage + 1229;
+return dev_storage + 1295;
}
}
@@ -14380,7 +13281,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdad9", 10) == 0)
{
{
-return dev_storage + 813;
+return dev_storage + 879;
}
}
@@ -14404,7 +13305,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddc9", 10) == 0)
{
{
-return dev_storage + 2044;
+return dev_storage + 2110;
}
}
@@ -14419,7 +13320,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcc9", 10) == 0)
{
{
-return dev_storage + 1630;
+return dev_storage + 1696;
}
}
@@ -14434,7 +13335,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbc9", 10) == 0)
{
{
-return dev_storage + 1214;
+return dev_storage + 1280;
}
}
@@ -14449,7 +13350,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdac9", 10) == 0)
{
{
-return dev_storage + 798;
+return dev_storage + 864;
}
}
@@ -14473,7 +13374,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddb9", 10) == 0)
{
{
-return dev_storage + 2029;
+return dev_storage + 2095;
}
}
@@ -14488,7 +13389,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcb9", 10) == 0)
{
{
-return dev_storage + 1615;
+return dev_storage + 1681;
}
}
@@ -14503,7 +13404,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbb9", 10) == 0)
{
{
-return dev_storage + 1199;
+return dev_storage + 1265;
}
}
@@ -14518,7 +13419,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdab9", 10) == 0)
{
{
-return dev_storage + 783;
+return dev_storage + 849;
}
}
@@ -14542,7 +13443,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdda9", 10) == 0)
{
{
-return dev_storage + 2014;
+return dev_storage + 2080;
}
}
@@ -14557,7 +13458,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdca9", 10) == 0)
{
{
-return dev_storage + 1600;
+return dev_storage + 1666;
}
}
@@ -14572,7 +13473,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdba9", 10) == 0)
{
{
-return dev_storage + 1184;
+return dev_storage + 1250;
}
}
@@ -14587,7 +13488,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaa9", 10) == 0)
{
{
-return dev_storage + 768;
+return dev_storage + 834;
}
}
@@ -14608,7 +13509,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS9", 10) == 0)
{
{
-return dev_storage + 2520;
+return dev_storage + 2586;
}
}
@@ -14623,7 +13524,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst99", 10) == 0)
{
{
-return dev_storage + 205;
+return dev_storage + 206;
}
}
@@ -14638,7 +13539,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst89", 10) == 0)
{
{
-return dev_storage + 195;
+return dev_storage + 196;
}
}
@@ -14653,7 +13554,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst79", 10) == 0)
{
{
-return dev_storage + 185;
+return dev_storage + 186;
}
}
@@ -14668,7 +13569,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst69", 10) == 0)
{
{
-return dev_storage + 175;
+return dev_storage + 176;
}
}
@@ -14686,7 +13587,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty59", 10) == 0)
{
{
-return dev_storage + 296;
+return dev_storage + 298;
}
}
@@ -14701,7 +13602,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst59", 10) == 0)
{
{
-return dev_storage + 165;
+return dev_storage + 166;
}
}
@@ -14725,7 +13626,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty49", 10) == 0)
{
{
-return dev_storage + 286;
+return dev_storage + 288;
}
}
@@ -14740,7 +13641,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst49", 10) == 0)
{
{
-return dev_storage + 155;
+return dev_storage + 156;
}
}
@@ -14764,7 +13665,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty39", 10) == 0)
{
{
-return dev_storage + 276;
+return dev_storage + 278;
}
}
@@ -14779,7 +13680,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst39", 10) == 0)
{
{
-return dev_storage + 145;
+return dev_storage + 146;
}
}
@@ -14803,7 +13704,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty29", 10) == 0)
{
{
-return dev_storage + 266;
+return dev_storage + 268;
}
}
@@ -14818,7 +13719,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst29", 10) == 0)
{
{
-return dev_storage + 135;
+return dev_storage + 136;
}
}
@@ -14842,7 +13743,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st119", 10) == 0)
{
{
-return dev_storage + 2501;
+return dev_storage + 2567;
}
}
@@ -14857,7 +13758,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty19", 10) == 0)
{
{
-return dev_storage + 256;
+return dev_storage + 258;
}
}
@@ -14872,7 +13773,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst19", 10) == 0)
{
{
-return dev_storage + 125;
+return dev_storage + 126;
}
}
@@ -14893,7 +13794,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st109", 10) == 0)
{
{
-return dev_storage + 2491;
+return dev_storage + 2557;
}
}
@@ -14920,7 +13821,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcz8", 10) == 0)
{
{
-return dev_storage + 1974;
+return dev_storage + 2040;
}
}
@@ -14935,7 +13836,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbz8", 10) == 0)
{
{
-return dev_storage + 1558;
+return dev_storage + 1624;
}
}
@@ -14950,7 +13851,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaz8", 10) == 0)
{
{
-return dev_storage + 1142;
+return dev_storage + 1208;
}
}
@@ -14974,7 +13875,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcy8", 10) == 0)
{
{
-return dev_storage + 1959;
+return dev_storage + 2025;
}
}
@@ -14989,7 +13890,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdby8", 10) == 0)
{
{
-return dev_storage + 1543;
+return dev_storage + 1609;
}
}
@@ -15004,7 +13905,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sday8", 10) == 0)
{
{
-return dev_storage + 1127;
+return dev_storage + 1193;
}
}
@@ -15028,7 +13929,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddx8", 10) == 0)
{
{
-return dev_storage + 2358;
+return dev_storage + 2424;
}
}
@@ -15043,7 +13944,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcx8", 10) == 0)
{
{
-return dev_storage + 1944;
+return dev_storage + 2010;
}
}
@@ -15058,7 +13959,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbx8", 10) == 0)
{
{
-return dev_storage + 1528;
+return dev_storage + 1594;
}
}
@@ -15073,7 +13974,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdax8", 10) == 0)
{
{
-return dev_storage + 1112;
+return dev_storage + 1178;
}
}
@@ -15097,7 +13998,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddw8", 10) == 0)
{
{
-return dev_storage + 2343;
+return dev_storage + 2409;
}
}
@@ -15112,7 +14013,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcw8", 10) == 0)
{
{
-return dev_storage + 1929;
+return dev_storage + 1995;
}
}
@@ -15127,7 +14028,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbw8", 10) == 0)
{
{
-return dev_storage + 1513;
+return dev_storage + 1579;
}
}
@@ -15142,7 +14043,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaw8", 10) == 0)
{
{
-return dev_storage + 1097;
+return dev_storage + 1163;
}
}
@@ -15166,7 +14067,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddv8", 10) == 0)
{
{
-return dev_storage + 2328;
+return dev_storage + 2394;
}
}
@@ -15181,7 +14082,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcv8", 10) == 0)
{
{
-return dev_storage + 1914;
+return dev_storage + 1980;
}
}
@@ -15196,7 +14097,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbv8", 10) == 0)
{
{
-return dev_storage + 1498;
+return dev_storage + 1564;
}
}
@@ -15211,7 +14112,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdav8", 10) == 0)
{
{
-return dev_storage + 1082;
+return dev_storage + 1148;
}
}
@@ -15235,7 +14136,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddu8", 10) == 0)
{
{
-return dev_storage + 2313;
+return dev_storage + 2379;
}
}
@@ -15250,7 +14151,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcu8", 10) == 0)
{
{
-return dev_storage + 1899;
+return dev_storage + 1965;
}
}
@@ -15265,7 +14166,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbu8", 10) == 0)
{
{
-return dev_storage + 1483;
+return dev_storage + 1549;
}
}
@@ -15280,7 +14181,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdau8", 10) == 0)
{
{
-return dev_storage + 1067;
+return dev_storage + 1133;
}
}
@@ -15304,7 +14205,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddt8", 10) == 0)
{
{
-return dev_storage + 2298;
+return dev_storage + 2364;
}
}
@@ -15319,7 +14220,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdct8", 10) == 0)
{
{
-return dev_storage + 1884;
+return dev_storage + 1950;
}
}
@@ -15334,7 +14235,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbt8", 10) == 0)
{
{
-return dev_storage + 1468;
+return dev_storage + 1534;
}
}
@@ -15349,7 +14250,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdat8", 10) == 0)
{
{
-return dev_storage + 1052;
+return dev_storage + 1118;
}
}
@@ -15388,7 +14289,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdds8", 10) == 0)
{
{
-return dev_storage + 2283;
+return dev_storage + 2349;
}
}
@@ -15403,7 +14304,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcs8", 10) == 0)
{
{
-return dev_storage + 1869;
+return dev_storage + 1935;
}
}
@@ -15418,7 +14319,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbs8", 10) == 0)
{
{
-return dev_storage + 1453;
+return dev_storage + 1519;
}
}
@@ -15433,7 +14334,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdas8", 10) == 0)
{
{
-return dev_storage + 1037;
+return dev_storage + 1103;
}
}
@@ -15457,7 +14358,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddr8", 10) == 0)
{
{
-return dev_storage + 2268;
+return dev_storage + 2334;
}
}
@@ -15472,7 +14373,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcr8", 10) == 0)
{
{
-return dev_storage + 1854;
+return dev_storage + 1920;
}
}
@@ -15487,7 +14388,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbr8", 10) == 0)
{
{
-return dev_storage + 1438;
+return dev_storage + 1504;
}
}
@@ -15502,7 +14403,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdar8", 10) == 0)
{
{
-return dev_storage + 1022;
+return dev_storage + 1088;
}
}
@@ -15526,7 +14427,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddq8", 10) == 0)
{
{
-return dev_storage + 2253;
+return dev_storage + 2319;
}
}
@@ -15541,7 +14442,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcq8", 10) == 0)
{
{
-return dev_storage + 1839;
+return dev_storage + 1905;
}
}
@@ -15556,7 +14457,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbq8", 10) == 0)
{
{
-return dev_storage + 1423;
+return dev_storage + 1489;
}
}
@@ -15571,7 +14472,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaq8", 10) == 0)
{
{
-return dev_storage + 1007;
+return dev_storage + 1073;
}
}
@@ -15595,7 +14496,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddp8", 10) == 0)
{
{
-return dev_storage + 2238;
+return dev_storage + 2304;
}
}
@@ -15610,7 +14511,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcp8", 10) == 0)
{
{
-return dev_storage + 1824;
+return dev_storage + 1890;
}
}
@@ -15625,7 +14526,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbp8", 10) == 0)
{
{
-return dev_storage + 1408;
+return dev_storage + 1474;
}
}
@@ -15640,7 +14541,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdap8", 10) == 0)
{
{
-return dev_storage + 992;
+return dev_storage + 1058;
}
}
@@ -15664,7 +14565,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddo8", 10) == 0)
{
{
-return dev_storage + 2223;
+return dev_storage + 2289;
}
}
@@ -15679,7 +14580,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdco8", 10) == 0)
{
{
-return dev_storage + 1809;
+return dev_storage + 1875;
}
}
@@ -15694,7 +14595,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbo8", 10) == 0)
{
{
-return dev_storage + 1393;
+return dev_storage + 1459;
}
}
@@ -15709,7 +14610,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdao8", 10) == 0)
{
{
-return dev_storage + 977;
+return dev_storage + 1043;
}
}
@@ -15733,7 +14634,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddn8", 10) == 0)
{
{
-return dev_storage + 2208;
+return dev_storage + 2274;
}
}
@@ -15748,7 +14649,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcn8", 10) == 0)
{
{
-return dev_storage + 1794;
+return dev_storage + 1860;
}
}
@@ -15763,7 +14664,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbn8", 10) == 0)
{
{
-return dev_storage + 1378;
+return dev_storage + 1444;
}
}
@@ -15778,7 +14679,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdan8", 10) == 0)
{
{
-return dev_storage + 962;
+return dev_storage + 1028;
}
}
@@ -15798,11 +14699,26 @@ return NULL;
case 'm':
switch (KR_keyword [7])
{
+ case 'y':
+ if (strncmp (KR_keyword, "/dev/ptym8", 10) == 0)
+ {
+{
+return dev_storage + 311;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
case 'd':
if (strncmp (KR_keyword, "/dev/sddm8", 10) == 0)
{
{
-return dev_storage + 2193;
+return dev_storage + 2259;
}
}
@@ -15817,7 +14733,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcm8", 10) == 0)
{
{
-return dev_storage + 1779;
+return dev_storage + 1845;
}
}
@@ -15832,7 +14748,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbm8", 10) == 0)
{
{
-return dev_storage + 1363;
+return dev_storage + 1429;
}
}
@@ -15847,7 +14763,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdam8", 10) == 0)
{
{
-return dev_storage + 947;
+return dev_storage + 1013;
}
}
@@ -15871,7 +14787,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddl8", 10) == 0)
{
{
-return dev_storage + 2178;
+return dev_storage + 2244;
}
}
@@ -15886,7 +14802,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcl8", 10) == 0)
{
{
-return dev_storage + 1764;
+return dev_storage + 1830;
}
}
@@ -15901,7 +14817,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbl8", 10) == 0)
{
{
-return dev_storage + 1348;
+return dev_storage + 1414;
}
}
@@ -15916,7 +14832,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdal8", 10) == 0)
{
{
-return dev_storage + 932;
+return dev_storage + 998;
}
}
@@ -15940,7 +14856,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddk8", 10) == 0)
{
{
-return dev_storage + 2163;
+return dev_storage + 2229;
}
}
@@ -15955,7 +14871,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdck8", 10) == 0)
{
{
-return dev_storage + 1749;
+return dev_storage + 1815;
}
}
@@ -15970,7 +14886,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbk8", 10) == 0)
{
{
-return dev_storage + 1333;
+return dev_storage + 1399;
}
}
@@ -15985,7 +14901,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdak8", 10) == 0)
{
{
-return dev_storage + 917;
+return dev_storage + 983;
}
}
@@ -16009,7 +14925,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddj8", 10) == 0)
{
{
-return dev_storage + 2148;
+return dev_storage + 2214;
}
}
@@ -16024,7 +14940,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcj8", 10) == 0)
{
{
-return dev_storage + 1734;
+return dev_storage + 1800;
}
}
@@ -16039,7 +14955,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbj8", 10) == 0)
{
{
-return dev_storage + 1318;
+return dev_storage + 1384;
}
}
@@ -16054,7 +14970,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaj8", 10) == 0)
{
{
-return dev_storage + 902;
+return dev_storage + 968;
}
}
@@ -16078,7 +14994,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddi8", 10) == 0)
{
{
-return dev_storage + 2133;
+return dev_storage + 2199;
}
}
@@ -16093,7 +15009,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdci8", 10) == 0)
{
{
-return dev_storage + 1719;
+return dev_storage + 1785;
}
}
@@ -16108,7 +15024,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbi8", 10) == 0)
{
{
-return dev_storage + 1303;
+return dev_storage + 1369;
}
}
@@ -16123,7 +15039,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdai8", 10) == 0)
{
{
-return dev_storage + 887;
+return dev_storage + 953;
}
}
@@ -16147,7 +15063,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddh8", 10) == 0)
{
{
-return dev_storage + 2118;
+return dev_storage + 2184;
}
}
@@ -16162,7 +15078,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdch8", 10) == 0)
{
{
-return dev_storage + 1704;
+return dev_storage + 1770;
}
}
@@ -16177,7 +15093,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbh8", 10) == 0)
{
{
-return dev_storage + 1288;
+return dev_storage + 1354;
}
}
@@ -16192,7 +15108,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdah8", 10) == 0)
{
{
-return dev_storage + 872;
+return dev_storage + 938;
}
}
@@ -16216,7 +15132,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddg8", 10) == 0)
{
{
-return dev_storage + 2103;
+return dev_storage + 2169;
}
}
@@ -16231,7 +15147,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcg8", 10) == 0)
{
{
-return dev_storage + 1689;
+return dev_storage + 1755;
}
}
@@ -16246,7 +15162,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbg8", 10) == 0)
{
{
-return dev_storage + 1273;
+return dev_storage + 1339;
}
}
@@ -16261,7 +15177,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdag8", 10) == 0)
{
{
-return dev_storage + 857;
+return dev_storage + 923;
}
}
@@ -16285,7 +15201,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddf8", 10) == 0)
{
{
-return dev_storage + 2088;
+return dev_storage + 2154;
}
}
@@ -16300,7 +15216,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcf8", 10) == 0)
{
{
-return dev_storage + 1674;
+return dev_storage + 1740;
}
}
@@ -16315,7 +15231,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbf8", 10) == 0)
{
{
-return dev_storage + 1258;
+return dev_storage + 1324;
}
}
@@ -16330,7 +15246,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaf8", 10) == 0)
{
{
-return dev_storage + 842;
+return dev_storage + 908;
}
}
@@ -16354,7 +15270,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdde8", 10) == 0)
{
{
-return dev_storage + 2073;
+return dev_storage + 2139;
}
}
@@ -16369,7 +15285,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdce8", 10) == 0)
{
{
-return dev_storage + 1659;
+return dev_storage + 1725;
}
}
@@ -16384,7 +15300,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbe8", 10) == 0)
{
{
-return dev_storage + 1243;
+return dev_storage + 1309;
}
}
@@ -16399,7 +15315,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdae8", 10) == 0)
{
{
-return dev_storage + 827;
+return dev_storage + 893;
}
}
@@ -16423,7 +15339,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddd8", 10) == 0)
{
{
-return dev_storage + 2058;
+return dev_storage + 2124;
}
}
@@ -16438,7 +15354,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcd8", 10) == 0)
{
{
-return dev_storage + 1644;
+return dev_storage + 1710;
}
}
@@ -16453,7 +15369,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbd8", 10) == 0)
{
{
-return dev_storage + 1228;
+return dev_storage + 1294;
}
}
@@ -16468,7 +15384,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdad8", 10) == 0)
{
{
-return dev_storage + 812;
+return dev_storage + 878;
}
}
@@ -16492,7 +15408,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddc8", 10) == 0)
{
{
-return dev_storage + 2043;
+return dev_storage + 2109;
}
}
@@ -16507,7 +15423,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcc8", 10) == 0)
{
{
-return dev_storage + 1629;
+return dev_storage + 1695;
}
}
@@ -16522,7 +15438,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbc8", 10) == 0)
{
{
-return dev_storage + 1213;
+return dev_storage + 1279;
}
}
@@ -16537,7 +15453,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdac8", 10) == 0)
{
{
-return dev_storage + 797;
+return dev_storage + 863;
}
}
@@ -16561,7 +15477,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddb8", 10) == 0)
{
{
-return dev_storage + 2028;
+return dev_storage + 2094;
}
}
@@ -16576,7 +15492,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcb8", 10) == 0)
{
{
-return dev_storage + 1614;
+return dev_storage + 1680;
}
}
@@ -16591,7 +15507,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbb8", 10) == 0)
{
{
-return dev_storage + 1198;
+return dev_storage + 1264;
}
}
@@ -16606,7 +15522,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdab8", 10) == 0)
{
{
-return dev_storage + 782;
+return dev_storage + 848;
}
}
@@ -16630,7 +15546,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdda8", 10) == 0)
{
{
-return dev_storage + 2013;
+return dev_storage + 2079;
}
}
@@ -16645,7 +15561,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdca8", 10) == 0)
{
{
-return dev_storage + 1599;
+return dev_storage + 1665;
}
}
@@ -16660,7 +15576,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdba8", 10) == 0)
{
{
-return dev_storage + 1183;
+return dev_storage + 1249;
}
}
@@ -16675,7 +15591,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaa8", 10) == 0)
{
{
-return dev_storage + 767;
+return dev_storage + 833;
}
}
@@ -16696,7 +15612,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS8", 10) == 0)
{
{
-return dev_storage + 2519;
+return dev_storage + 2585;
}
}
@@ -16711,7 +15627,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst98", 10) == 0)
{
{
-return dev_storage + 204;
+return dev_storage + 205;
}
}
@@ -16726,7 +15642,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst88", 10) == 0)
{
{
-return dev_storage + 194;
+return dev_storage + 195;
}
}
@@ -16741,7 +15657,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst78", 10) == 0)
{
{
-return dev_storage + 184;
+return dev_storage + 185;
}
}
@@ -16756,7 +15672,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst68", 10) == 0)
{
{
-return dev_storage + 174;
+return dev_storage + 175;
}
}
@@ -16774,7 +15690,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty58", 10) == 0)
{
{
-return dev_storage + 295;
+return dev_storage + 297;
}
}
@@ -16789,7 +15705,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst58", 10) == 0)
{
{
-return dev_storage + 164;
+return dev_storage + 165;
}
}
@@ -16813,7 +15729,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty48", 10) == 0)
{
{
-return dev_storage + 285;
+return dev_storage + 287;
}
}
@@ -16828,7 +15744,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst48", 10) == 0)
{
{
-return dev_storage + 154;
+return dev_storage + 155;
}
}
@@ -16852,7 +15768,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty38", 10) == 0)
{
{
-return dev_storage + 275;
+return dev_storage + 277;
}
}
@@ -16867,7 +15783,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst38", 10) == 0)
{
{
-return dev_storage + 144;
+return dev_storage + 145;
}
}
@@ -16891,7 +15807,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty28", 10) == 0)
{
{
-return dev_storage + 265;
+return dev_storage + 267;
}
}
@@ -16906,7 +15822,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst28", 10) == 0)
{
{
-return dev_storage + 134;
+return dev_storage + 135;
}
}
@@ -16930,7 +15846,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st118", 10) == 0)
{
{
-return dev_storage + 2500;
+return dev_storage + 2566;
}
}
@@ -16945,7 +15861,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty18", 10) == 0)
{
{
-return dev_storage + 255;
+return dev_storage + 257;
}
}
@@ -16960,7 +15876,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst18", 10) == 0)
{
{
-return dev_storage + 124;
+return dev_storage + 125;
}
}
@@ -16981,7 +15897,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st108", 10) == 0)
{
{
-return dev_storage + 2490;
+return dev_storage + 2556;
}
}
@@ -17008,7 +15924,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcz7", 10) == 0)
{
{
-return dev_storage + 1973;
+return dev_storage + 2039;
}
}
@@ -17023,7 +15939,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbz7", 10) == 0)
{
{
-return dev_storage + 1557;
+return dev_storage + 1623;
}
}
@@ -17038,7 +15954,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaz7", 10) == 0)
{
{
-return dev_storage + 1141;
+return dev_storage + 1207;
}
}
@@ -17062,7 +15978,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcy7", 10) == 0)
{
{
-return dev_storage + 1958;
+return dev_storage + 2024;
}
}
@@ -17077,7 +15993,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdby7", 10) == 0)
{
{
-return dev_storage + 1542;
+return dev_storage + 1608;
}
}
@@ -17092,7 +16008,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sday7", 10) == 0)
{
{
-return dev_storage + 1126;
+return dev_storage + 1192;
}
}
@@ -17116,7 +16032,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddx7", 10) == 0)
{
{
-return dev_storage + 2357;
+return dev_storage + 2423;
}
}
@@ -17131,7 +16047,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcx7", 10) == 0)
{
{
-return dev_storage + 1943;
+return dev_storage + 2009;
}
}
@@ -17146,7 +16062,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbx7", 10) == 0)
{
{
-return dev_storage + 1527;
+return dev_storage + 1593;
}
}
@@ -17161,7 +16077,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdax7", 10) == 0)
{
{
-return dev_storage + 1111;
+return dev_storage + 1177;
}
}
@@ -17185,7 +16101,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddw7", 10) == 0)
{
{
-return dev_storage + 2342;
+return dev_storage + 2408;
}
}
@@ -17200,7 +16116,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcw7", 10) == 0)
{
{
-return dev_storage + 1928;
+return dev_storage + 1994;
}
}
@@ -17215,7 +16131,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbw7", 10) == 0)
{
{
-return dev_storage + 1512;
+return dev_storage + 1578;
}
}
@@ -17230,7 +16146,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaw7", 10) == 0)
{
{
-return dev_storage + 1096;
+return dev_storage + 1162;
}
}
@@ -17254,7 +16170,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddv7", 10) == 0)
{
{
-return dev_storage + 2327;
+return dev_storage + 2393;
}
}
@@ -17269,7 +16185,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcv7", 10) == 0)
{
{
-return dev_storage + 1913;
+return dev_storage + 1979;
}
}
@@ -17284,7 +16200,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbv7", 10) == 0)
{
{
-return dev_storage + 1497;
+return dev_storage + 1563;
}
}
@@ -17299,7 +16215,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdav7", 10) == 0)
{
{
-return dev_storage + 1081;
+return dev_storage + 1147;
}
}
@@ -17323,7 +16239,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddu7", 10) == 0)
{
{
-return dev_storage + 2312;
+return dev_storage + 2378;
}
}
@@ -17338,7 +16254,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcu7", 10) == 0)
{
{
-return dev_storage + 1898;
+return dev_storage + 1964;
}
}
@@ -17353,7 +16269,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbu7", 10) == 0)
{
{
-return dev_storage + 1482;
+return dev_storage + 1548;
}
}
@@ -17368,7 +16284,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdau7", 10) == 0)
{
{
-return dev_storage + 1066;
+return dev_storage + 1132;
}
}
@@ -17392,7 +16308,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddt7", 10) == 0)
{
{
-return dev_storage + 2297;
+return dev_storage + 2363;
}
}
@@ -17407,7 +16323,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdct7", 10) == 0)
{
{
-return dev_storage + 1883;
+return dev_storage + 1949;
}
}
@@ -17422,7 +16338,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbt7", 10) == 0)
{
{
-return dev_storage + 1467;
+return dev_storage + 1533;
}
}
@@ -17437,7 +16353,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdat7", 10) == 0)
{
{
-return dev_storage + 1051;
+return dev_storage + 1117;
}
}
@@ -17476,7 +16392,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdds7", 10) == 0)
{
{
-return dev_storage + 2282;
+return dev_storage + 2348;
}
}
@@ -17491,7 +16407,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcs7", 10) == 0)
{
{
-return dev_storage + 1868;
+return dev_storage + 1934;
}
}
@@ -17506,7 +16422,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbs7", 10) == 0)
{
{
-return dev_storage + 1452;
+return dev_storage + 1518;
}
}
@@ -17521,7 +16437,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdas7", 10) == 0)
{
{
-return dev_storage + 1036;
+return dev_storage + 1102;
}
}
@@ -17545,7 +16461,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddr7", 10) == 0)
{
{
-return dev_storage + 2267;
+return dev_storage + 2333;
}
}
@@ -17560,7 +16476,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcr7", 10) == 0)
{
{
-return dev_storage + 1853;
+return dev_storage + 1919;
}
}
@@ -17575,7 +16491,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbr7", 10) == 0)
{
{
-return dev_storage + 1437;
+return dev_storage + 1503;
}
}
@@ -17590,7 +16506,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdar7", 10) == 0)
{
{
-return dev_storage + 1021;
+return dev_storage + 1087;
}
}
@@ -17614,7 +16530,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddq7", 10) == 0)
{
{
-return dev_storage + 2252;
+return dev_storage + 2318;
}
}
@@ -17629,7 +16545,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcq7", 10) == 0)
{
{
-return dev_storage + 1838;
+return dev_storage + 1904;
}
}
@@ -17644,7 +16560,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbq7", 10) == 0)
{
{
-return dev_storage + 1422;
+return dev_storage + 1488;
}
}
@@ -17659,7 +16575,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaq7", 10) == 0)
{
{
-return dev_storage + 1006;
+return dev_storage + 1072;
}
}
@@ -17683,7 +16599,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddp7", 10) == 0)
{
{
-return dev_storage + 2237;
+return dev_storage + 2303;
}
}
@@ -17698,7 +16614,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcp7", 10) == 0)
{
{
-return dev_storage + 1823;
+return dev_storage + 1889;
}
}
@@ -17713,7 +16629,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbp7", 10) == 0)
{
{
-return dev_storage + 1407;
+return dev_storage + 1473;
}
}
@@ -17728,7 +16644,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdap7", 10) == 0)
{
{
-return dev_storage + 991;
+return dev_storage + 1057;
}
}
@@ -17752,7 +16668,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddo7", 10) == 0)
{
{
-return dev_storage + 2222;
+return dev_storage + 2288;
}
}
@@ -17767,7 +16683,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdco7", 10) == 0)
{
{
-return dev_storage + 1808;
+return dev_storage + 1874;
}
}
@@ -17782,7 +16698,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbo7", 10) == 0)
{
{
-return dev_storage + 1392;
+return dev_storage + 1458;
}
}
@@ -17797,7 +16713,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdao7", 10) == 0)
{
{
-return dev_storage + 976;
+return dev_storage + 1042;
}
}
@@ -17821,7 +16737,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddn7", 10) == 0)
{
{
-return dev_storage + 2207;
+return dev_storage + 2273;
}
}
@@ -17836,7 +16752,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcn7", 10) == 0)
{
{
-return dev_storage + 1793;
+return dev_storage + 1859;
}
}
@@ -17851,7 +16767,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbn7", 10) == 0)
{
{
-return dev_storage + 1377;
+return dev_storage + 1443;
}
}
@@ -17866,7 +16782,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdan7", 10) == 0)
{
{
-return dev_storage + 961;
+return dev_storage + 1027;
}
}
@@ -17886,11 +16802,26 @@ return NULL;
case 'm':
switch (KR_keyword [7])
{
+ case 'y':
+ if (strncmp (KR_keyword, "/dev/ptym7", 10) == 0)
+ {
+{
+return dev_storage + 310;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
case 'd':
if (strncmp (KR_keyword, "/dev/sddm7", 10) == 0)
{
{
-return dev_storage + 2192;
+return dev_storage + 2258;
}
}
@@ -17905,7 +16836,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcm7", 10) == 0)
{
{
-return dev_storage + 1778;
+return dev_storage + 1844;
}
}
@@ -17920,7 +16851,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbm7", 10) == 0)
{
{
-return dev_storage + 1362;
+return dev_storage + 1428;
}
}
@@ -17935,7 +16866,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdam7", 10) == 0)
{
{
-return dev_storage + 946;
+return dev_storage + 1012;
}
}
@@ -17959,7 +16890,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddl7", 10) == 0)
{
{
-return dev_storage + 2177;
+return dev_storage + 2243;
}
}
@@ -17974,7 +16905,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcl7", 10) == 0)
{
{
-return dev_storage + 1763;
+return dev_storage + 1829;
}
}
@@ -17989,7 +16920,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbl7", 10) == 0)
{
{
-return dev_storage + 1347;
+return dev_storage + 1413;
}
}
@@ -18004,7 +16935,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdal7", 10) == 0)
{
{
-return dev_storage + 931;
+return dev_storage + 997;
}
}
@@ -18028,7 +16959,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddk7", 10) == 0)
{
{
-return dev_storage + 2162;
+return dev_storage + 2228;
}
}
@@ -18043,7 +16974,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdck7", 10) == 0)
{
{
-return dev_storage + 1748;
+return dev_storage + 1814;
}
}
@@ -18058,7 +16989,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbk7", 10) == 0)
{
{
-return dev_storage + 1332;
+return dev_storage + 1398;
}
}
@@ -18073,7 +17004,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdak7", 10) == 0)
{
{
-return dev_storage + 916;
+return dev_storage + 982;
}
}
@@ -18097,7 +17028,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddj7", 10) == 0)
{
{
-return dev_storage + 2147;
+return dev_storage + 2213;
}
}
@@ -18112,7 +17043,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcj7", 10) == 0)
{
{
-return dev_storage + 1733;
+return dev_storage + 1799;
}
}
@@ -18127,7 +17058,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbj7", 10) == 0)
{
{
-return dev_storage + 1317;
+return dev_storage + 1383;
}
}
@@ -18142,7 +17073,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaj7", 10) == 0)
{
{
-return dev_storage + 901;
+return dev_storage + 967;
}
}
@@ -18166,7 +17097,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddi7", 10) == 0)
{
{
-return dev_storage + 2132;
+return dev_storage + 2198;
}
}
@@ -18181,7 +17112,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdci7", 10) == 0)
{
{
-return dev_storage + 1718;
+return dev_storage + 1784;
}
}
@@ -18196,7 +17127,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbi7", 10) == 0)
{
{
-return dev_storage + 1302;
+return dev_storage + 1368;
}
}
@@ -18211,7 +17142,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdai7", 10) == 0)
{
{
-return dev_storage + 886;
+return dev_storage + 952;
}
}
@@ -18235,7 +17166,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddh7", 10) == 0)
{
{
-return dev_storage + 2117;
+return dev_storage + 2183;
}
}
@@ -18250,7 +17181,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdch7", 10) == 0)
{
{
-return dev_storage + 1703;
+return dev_storage + 1769;
}
}
@@ -18265,7 +17196,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbh7", 10) == 0)
{
{
-return dev_storage + 1287;
+return dev_storage + 1353;
}
}
@@ -18280,7 +17211,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdah7", 10) == 0)
{
{
-return dev_storage + 871;
+return dev_storage + 937;
}
}
@@ -18304,7 +17235,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddg7", 10) == 0)
{
{
-return dev_storage + 2102;
+return dev_storage + 2168;
}
}
@@ -18319,7 +17250,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcg7", 10) == 0)
{
{
-return dev_storage + 1688;
+return dev_storage + 1754;
}
}
@@ -18334,7 +17265,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbg7", 10) == 0)
{
{
-return dev_storage + 1272;
+return dev_storage + 1338;
}
}
@@ -18349,7 +17280,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdag7", 10) == 0)
{
{
-return dev_storage + 856;
+return dev_storage + 922;
}
}
@@ -18373,7 +17304,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddf7", 10) == 0)
{
{
-return dev_storage + 2087;
+return dev_storage + 2153;
}
}
@@ -18388,7 +17319,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcf7", 10) == 0)
{
{
-return dev_storage + 1673;
+return dev_storage + 1739;
}
}
@@ -18403,7 +17334,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbf7", 10) == 0)
{
{
-return dev_storage + 1257;
+return dev_storage + 1323;
}
}
@@ -18418,7 +17349,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaf7", 10) == 0)
{
{
-return dev_storage + 841;
+return dev_storage + 907;
}
}
@@ -18442,7 +17373,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdde7", 10) == 0)
{
{
-return dev_storage + 2072;
+return dev_storage + 2138;
}
}
@@ -18457,7 +17388,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdce7", 10) == 0)
{
{
-return dev_storage + 1658;
+return dev_storage + 1724;
}
}
@@ -18472,7 +17403,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbe7", 10) == 0)
{
{
-return dev_storage + 1242;
+return dev_storage + 1308;
}
}
@@ -18487,7 +17418,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdae7", 10) == 0)
{
{
-return dev_storage + 826;
+return dev_storage + 892;
}
}
@@ -18511,7 +17442,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddd7", 10) == 0)
{
{
-return dev_storage + 2057;
+return dev_storage + 2123;
}
}
@@ -18526,7 +17457,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcd7", 10) == 0)
{
{
-return dev_storage + 1643;
+return dev_storage + 1709;
}
}
@@ -18541,7 +17472,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbd7", 10) == 0)
{
{
-return dev_storage + 1227;
+return dev_storage + 1293;
}
}
@@ -18556,7 +17487,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdad7", 10) == 0)
{
{
-return dev_storage + 811;
+return dev_storage + 877;
}
}
@@ -18580,7 +17511,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddc7", 10) == 0)
{
{
-return dev_storage + 2042;
+return dev_storage + 2108;
}
}
@@ -18595,7 +17526,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcc7", 10) == 0)
{
{
-return dev_storage + 1628;
+return dev_storage + 1694;
}
}
@@ -18610,7 +17541,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbc7", 10) == 0)
{
{
-return dev_storage + 1212;
+return dev_storage + 1278;
}
}
@@ -18625,7 +17556,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdac7", 10) == 0)
{
{
-return dev_storage + 796;
+return dev_storage + 862;
}
}
@@ -18649,7 +17580,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddb7", 10) == 0)
{
{
-return dev_storage + 2027;
+return dev_storage + 2093;
}
}
@@ -18664,7 +17595,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcb7", 10) == 0)
{
{
-return dev_storage + 1613;
+return dev_storage + 1679;
}
}
@@ -18679,7 +17610,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbb7", 10) == 0)
{
{
-return dev_storage + 1197;
+return dev_storage + 1263;
}
}
@@ -18694,7 +17625,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdab7", 10) == 0)
{
{
-return dev_storage + 781;
+return dev_storage + 847;
}
}
@@ -18718,7 +17649,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdda7", 10) == 0)
{
{
-return dev_storage + 2012;
+return dev_storage + 2078;
}
}
@@ -18733,7 +17664,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdca7", 10) == 0)
{
{
-return dev_storage + 1598;
+return dev_storage + 1664;
}
}
@@ -18748,7 +17679,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdba7", 10) == 0)
{
{
-return dev_storage + 1182;
+return dev_storage + 1248;
}
}
@@ -18763,7 +17694,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaa7", 10) == 0)
{
{
-return dev_storage + 766;
+return dev_storage + 832;
}
}
@@ -18784,7 +17715,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS7", 10) == 0)
{
{
-return dev_storage + 2518;
+return dev_storage + 2584;
}
}
@@ -18799,7 +17730,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst97", 10) == 0)
{
{
-return dev_storage + 203;
+return dev_storage + 204;
}
}
@@ -18814,7 +17745,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst87", 10) == 0)
{
{
-return dev_storage + 193;
+return dev_storage + 194;
}
}
@@ -18829,7 +17760,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst77", 10) == 0)
{
{
-return dev_storage + 183;
+return dev_storage + 184;
}
}
@@ -18844,7 +17775,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst67", 10) == 0)
{
{
-return dev_storage + 173;
+return dev_storage + 174;
}
}
@@ -18862,7 +17793,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty57", 10) == 0)
{
{
-return dev_storage + 294;
+return dev_storage + 296;
}
}
@@ -18877,7 +17808,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst57", 10) == 0)
{
{
-return dev_storage + 163;
+return dev_storage + 164;
}
}
@@ -18901,7 +17832,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty47", 10) == 0)
{
{
-return dev_storage + 284;
+return dev_storage + 286;
}
}
@@ -18916,7 +17847,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst47", 10) == 0)
{
{
-return dev_storage + 153;
+return dev_storage + 154;
}
}
@@ -18940,7 +17871,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty37", 10) == 0)
{
{
-return dev_storage + 274;
+return dev_storage + 276;
}
}
@@ -18955,7 +17886,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst37", 10) == 0)
{
{
-return dev_storage + 143;
+return dev_storage + 144;
}
}
@@ -18979,7 +17910,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st127", 10) == 0)
{
{
-return dev_storage + 2509;
+return dev_storage + 2575;
}
}
@@ -18994,7 +17925,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty27", 10) == 0)
{
{
-return dev_storage + 264;
+return dev_storage + 266;
}
}
@@ -19009,7 +17940,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst27", 10) == 0)
{
{
-return dev_storage + 133;
+return dev_storage + 134;
}
}
@@ -19033,7 +17964,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st117", 10) == 0)
{
{
-return dev_storage + 2499;
+return dev_storage + 2565;
}
}
@@ -19048,7 +17979,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty17", 10) == 0)
{
{
-return dev_storage + 254;
+return dev_storage + 256;
}
}
@@ -19063,7 +17994,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst17", 10) == 0)
{
{
-return dev_storage + 123;
+return dev_storage + 124;
}
}
@@ -19084,7 +18015,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st107", 10) == 0)
{
{
-return dev_storage + 2489;
+return dev_storage + 2555;
}
}
@@ -19111,7 +18042,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcz6", 10) == 0)
{
{
-return dev_storage + 1972;
+return dev_storage + 2038;
}
}
@@ -19126,7 +18057,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbz6", 10) == 0)
{
{
-return dev_storage + 1556;
+return dev_storage + 1622;
}
}
@@ -19141,7 +18072,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaz6", 10) == 0)
{
{
-return dev_storage + 1140;
+return dev_storage + 1206;
}
}
@@ -19165,7 +18096,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcy6", 10) == 0)
{
{
-return dev_storage + 1957;
+return dev_storage + 2023;
}
}
@@ -19180,7 +18111,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdby6", 10) == 0)
{
{
-return dev_storage + 1541;
+return dev_storage + 1607;
}
}
@@ -19195,7 +18126,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sday6", 10) == 0)
{
{
-return dev_storage + 1125;
+return dev_storage + 1191;
}
}
@@ -19219,7 +18150,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddx6", 10) == 0)
{
{
-return dev_storage + 2356;
+return dev_storage + 2422;
}
}
@@ -19234,7 +18165,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcx6", 10) == 0)
{
{
-return dev_storage + 1942;
+return dev_storage + 2008;
}
}
@@ -19249,7 +18180,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbx6", 10) == 0)
{
{
-return dev_storage + 1526;
+return dev_storage + 1592;
}
}
@@ -19264,7 +18195,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdax6", 10) == 0)
{
{
-return dev_storage + 1110;
+return dev_storage + 1176;
}
}
@@ -19288,7 +18219,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddw6", 10) == 0)
{
{
-return dev_storage + 2341;
+return dev_storage + 2407;
}
}
@@ -19303,7 +18234,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcw6", 10) == 0)
{
{
-return dev_storage + 1927;
+return dev_storage + 1993;
}
}
@@ -19318,7 +18249,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbw6", 10) == 0)
{
{
-return dev_storage + 1511;
+return dev_storage + 1577;
}
}
@@ -19333,7 +18264,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaw6", 10) == 0)
{
{
-return dev_storage + 1095;
+return dev_storage + 1161;
}
}
@@ -19357,7 +18288,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddv6", 10) == 0)
{
{
-return dev_storage + 2326;
+return dev_storage + 2392;
}
}
@@ -19372,7 +18303,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcv6", 10) == 0)
{
{
-return dev_storage + 1912;
+return dev_storage + 1978;
}
}
@@ -19387,7 +18318,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbv6", 10) == 0)
{
{
-return dev_storage + 1496;
+return dev_storage + 1562;
}
}
@@ -19402,7 +18333,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdav6", 10) == 0)
{
{
-return dev_storage + 1080;
+return dev_storage + 1146;
}
}
@@ -19426,7 +18357,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddu6", 10) == 0)
{
{
-return dev_storage + 2311;
+return dev_storage + 2377;
}
}
@@ -19441,7 +18372,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcu6", 10) == 0)
{
{
-return dev_storage + 1897;
+return dev_storage + 1963;
}
}
@@ -19456,7 +18387,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbu6", 10) == 0)
{
{
-return dev_storage + 1481;
+return dev_storage + 1547;
}
}
@@ -19471,7 +18402,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdau6", 10) == 0)
{
{
-return dev_storage + 1065;
+return dev_storage + 1131;
}
}
@@ -19495,7 +18426,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddt6", 10) == 0)
{
{
-return dev_storage + 2296;
+return dev_storage + 2362;
}
}
@@ -19510,7 +18441,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdct6", 10) == 0)
{
{
-return dev_storage + 1882;
+return dev_storage + 1948;
}
}
@@ -19525,7 +18456,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbt6", 10) == 0)
{
{
-return dev_storage + 1466;
+return dev_storage + 1532;
}
}
@@ -19540,7 +18471,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdat6", 10) == 0)
{
{
-return dev_storage + 1050;
+return dev_storage + 1116;
}
}
@@ -19579,7 +18510,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdds6", 10) == 0)
{
{
-return dev_storage + 2281;
+return dev_storage + 2347;
}
}
@@ -19594,7 +18525,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcs6", 10) == 0)
{
{
-return dev_storage + 1867;
+return dev_storage + 1933;
}
}
@@ -19609,7 +18540,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbs6", 10) == 0)
{
{
-return dev_storage + 1451;
+return dev_storage + 1517;
}
}
@@ -19624,7 +18555,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdas6", 10) == 0)
{
{
-return dev_storage + 1035;
+return dev_storage + 1101;
}
}
@@ -19648,7 +18579,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddr6", 10) == 0)
{
{
-return dev_storage + 2266;
+return dev_storage + 2332;
}
}
@@ -19663,7 +18594,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcr6", 10) == 0)
{
{
-return dev_storage + 1852;
+return dev_storage + 1918;
}
}
@@ -19678,7 +18609,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbr6", 10) == 0)
{
{
-return dev_storage + 1436;
+return dev_storage + 1502;
}
}
@@ -19693,7 +18624,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdar6", 10) == 0)
{
{
-return dev_storage + 1020;
+return dev_storage + 1086;
}
}
@@ -19717,7 +18648,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddq6", 10) == 0)
{
{
-return dev_storage + 2251;
+return dev_storage + 2317;
}
}
@@ -19732,7 +18663,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcq6", 10) == 0)
{
{
-return dev_storage + 1837;
+return dev_storage + 1903;
}
}
@@ -19747,7 +18678,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbq6", 10) == 0)
{
{
-return dev_storage + 1421;
+return dev_storage + 1487;
}
}
@@ -19762,7 +18693,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaq6", 10) == 0)
{
{
-return dev_storage + 1005;
+return dev_storage + 1071;
}
}
@@ -19786,7 +18717,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddp6", 10) == 0)
{
{
-return dev_storage + 2236;
+return dev_storage + 2302;
}
}
@@ -19801,7 +18732,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcp6", 10) == 0)
{
{
-return dev_storage + 1822;
+return dev_storage + 1888;
}
}
@@ -19816,7 +18747,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbp6", 10) == 0)
{
{
-return dev_storage + 1406;
+return dev_storage + 1472;
}
}
@@ -19831,7 +18762,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdap6", 10) == 0)
{
{
-return dev_storage + 990;
+return dev_storage + 1056;
}
}
@@ -19855,7 +18786,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddo6", 10) == 0)
{
{
-return dev_storage + 2221;
+return dev_storage + 2287;
}
}
@@ -19870,7 +18801,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdco6", 10) == 0)
{
{
-return dev_storage + 1807;
+return dev_storage + 1873;
}
}
@@ -19885,7 +18816,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbo6", 10) == 0)
{
{
-return dev_storage + 1391;
+return dev_storage + 1457;
}
}
@@ -19900,7 +18831,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdao6", 10) == 0)
{
{
-return dev_storage + 975;
+return dev_storage + 1041;
}
}
@@ -19924,7 +18855,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddn6", 10) == 0)
{
{
-return dev_storage + 2206;
+return dev_storage + 2272;
}
}
@@ -19939,7 +18870,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcn6", 10) == 0)
{
{
-return dev_storage + 1792;
+return dev_storage + 1858;
}
}
@@ -19954,7 +18885,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbn6", 10) == 0)
{
{
-return dev_storage + 1376;
+return dev_storage + 1442;
}
}
@@ -19969,7 +18900,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdan6", 10) == 0)
{
{
-return dev_storage + 960;
+return dev_storage + 1026;
}
}
@@ -19989,11 +18920,26 @@ return NULL;
case 'm':
switch (KR_keyword [7])
{
+ case 'y':
+ if (strncmp (KR_keyword, "/dev/ptym6", 10) == 0)
+ {
+{
+return dev_storage + 309;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
case 'd':
if (strncmp (KR_keyword, "/dev/sddm6", 10) == 0)
{
{
-return dev_storage + 2191;
+return dev_storage + 2257;
}
}
@@ -20008,7 +18954,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcm6", 10) == 0)
{
{
-return dev_storage + 1777;
+return dev_storage + 1843;
}
}
@@ -20023,7 +18969,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbm6", 10) == 0)
{
{
-return dev_storage + 1361;
+return dev_storage + 1427;
}
}
@@ -20038,7 +18984,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdam6", 10) == 0)
{
{
-return dev_storage + 945;
+return dev_storage + 1011;
}
}
@@ -20062,7 +19008,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddl6", 10) == 0)
{
{
-return dev_storage + 2176;
+return dev_storage + 2242;
}
}
@@ -20077,7 +19023,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcl6", 10) == 0)
{
{
-return dev_storage + 1762;
+return dev_storage + 1828;
}
}
@@ -20092,7 +19038,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbl6", 10) == 0)
{
{
-return dev_storage + 1346;
+return dev_storage + 1412;
}
}
@@ -20107,7 +19053,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdal6", 10) == 0)
{
{
-return dev_storage + 930;
+return dev_storage + 996;
}
}
@@ -20131,7 +19077,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddk6", 10) == 0)
{
{
-return dev_storage + 2161;
+return dev_storage + 2227;
}
}
@@ -20146,7 +19092,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdck6", 10) == 0)
{
{
-return dev_storage + 1747;
+return dev_storage + 1813;
}
}
@@ -20161,7 +19107,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbk6", 10) == 0)
{
{
-return dev_storage + 1331;
+return dev_storage + 1397;
}
}
@@ -20176,7 +19122,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdak6", 10) == 0)
{
{
-return dev_storage + 915;
+return dev_storage + 981;
}
}
@@ -20200,7 +19146,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddj6", 10) == 0)
{
{
-return dev_storage + 2146;
+return dev_storage + 2212;
}
}
@@ -20215,7 +19161,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcj6", 10) == 0)
{
{
-return dev_storage + 1732;
+return dev_storage + 1798;
}
}
@@ -20230,7 +19176,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbj6", 10) == 0)
{
{
-return dev_storage + 1316;
+return dev_storage + 1382;
}
}
@@ -20245,7 +19191,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaj6", 10) == 0)
{
{
-return dev_storage + 900;
+return dev_storage + 966;
}
}
@@ -20269,7 +19215,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddi6", 10) == 0)
{
{
-return dev_storage + 2131;
+return dev_storage + 2197;
}
}
@@ -20284,7 +19230,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdci6", 10) == 0)
{
{
-return dev_storage + 1717;
+return dev_storage + 1783;
}
}
@@ -20299,7 +19245,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbi6", 10) == 0)
{
{
-return dev_storage + 1301;
+return dev_storage + 1367;
}
}
@@ -20314,7 +19260,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdai6", 10) == 0)
{
{
-return dev_storage + 885;
+return dev_storage + 951;
}
}
@@ -20338,7 +19284,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddh6", 10) == 0)
{
{
-return dev_storage + 2116;
+return dev_storage + 2182;
}
}
@@ -20353,7 +19299,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdch6", 10) == 0)
{
{
-return dev_storage + 1702;
+return dev_storage + 1768;
}
}
@@ -20368,7 +19314,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbh6", 10) == 0)
{
{
-return dev_storage + 1286;
+return dev_storage + 1352;
}
}
@@ -20383,7 +19329,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdah6", 10) == 0)
{
{
-return dev_storage + 870;
+return dev_storage + 936;
}
}
@@ -20407,7 +19353,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddg6", 10) == 0)
{
{
-return dev_storage + 2101;
+return dev_storage + 2167;
}
}
@@ -20422,7 +19368,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcg6", 10) == 0)
{
{
-return dev_storage + 1687;
+return dev_storage + 1753;
}
}
@@ -20437,7 +19383,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbg6", 10) == 0)
{
{
-return dev_storage + 1271;
+return dev_storage + 1337;
}
}
@@ -20452,7 +19398,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdag6", 10) == 0)
{
{
-return dev_storage + 855;
+return dev_storage + 921;
}
}
@@ -20476,7 +19422,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddf6", 10) == 0)
{
{
-return dev_storage + 2086;
+return dev_storage + 2152;
}
}
@@ -20491,7 +19437,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcf6", 10) == 0)
{
{
-return dev_storage + 1672;
+return dev_storage + 1738;
}
}
@@ -20506,7 +19452,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbf6", 10) == 0)
{
{
-return dev_storage + 1256;
+return dev_storage + 1322;
}
}
@@ -20521,7 +19467,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaf6", 10) == 0)
{
{
-return dev_storage + 840;
+return dev_storage + 906;
}
}
@@ -20545,7 +19491,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdde6", 10) == 0)
{
{
-return dev_storage + 2071;
+return dev_storage + 2137;
}
}
@@ -20560,7 +19506,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdce6", 10) == 0)
{
{
-return dev_storage + 1657;
+return dev_storage + 1723;
}
}
@@ -20575,7 +19521,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbe6", 10) == 0)
{
{
-return dev_storage + 1241;
+return dev_storage + 1307;
}
}
@@ -20590,7 +19536,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdae6", 10) == 0)
{
{
-return dev_storage + 825;
+return dev_storage + 891;
}
}
@@ -20614,7 +19560,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddd6", 10) == 0)
{
{
-return dev_storage + 2056;
+return dev_storage + 2122;
}
}
@@ -20629,7 +19575,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcd6", 10) == 0)
{
{
-return dev_storage + 1642;
+return dev_storage + 1708;
}
}
@@ -20644,7 +19590,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbd6", 10) == 0)
{
{
-return dev_storage + 1226;
+return dev_storage + 1292;
}
}
@@ -20659,7 +19605,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdad6", 10) == 0)
{
{
-return dev_storage + 810;
+return dev_storage + 876;
}
}
@@ -20683,7 +19629,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddc6", 10) == 0)
{
{
-return dev_storage + 2041;
+return dev_storage + 2107;
}
}
@@ -20698,7 +19644,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcc6", 10) == 0)
{
{
-return dev_storage + 1627;
+return dev_storage + 1693;
}
}
@@ -20713,7 +19659,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbc6", 10) == 0)
{
{
-return dev_storage + 1211;
+return dev_storage + 1277;
}
}
@@ -20728,7 +19674,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdac6", 10) == 0)
{
{
-return dev_storage + 795;
+return dev_storage + 861;
}
}
@@ -20752,7 +19698,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddb6", 10) == 0)
{
{
-return dev_storage + 2026;
+return dev_storage + 2092;
}
}
@@ -20767,7 +19713,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcb6", 10) == 0)
{
{
-return dev_storage + 1612;
+return dev_storage + 1678;
}
}
@@ -20782,7 +19728,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbb6", 10) == 0)
{
{
-return dev_storage + 1196;
+return dev_storage + 1262;
}
}
@@ -20797,7 +19743,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdab6", 10) == 0)
{
{
-return dev_storage + 780;
+return dev_storage + 846;
}
}
@@ -20821,7 +19767,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdda6", 10) == 0)
{
{
-return dev_storage + 2011;
+return dev_storage + 2077;
}
}
@@ -20836,7 +19782,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdca6", 10) == 0)
{
{
-return dev_storage + 1597;
+return dev_storage + 1663;
}
}
@@ -20851,7 +19797,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdba6", 10) == 0)
{
{
-return dev_storage + 1181;
+return dev_storage + 1247;
}
}
@@ -20866,7 +19812,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaa6", 10) == 0)
{
{
-return dev_storage + 765;
+return dev_storage + 831;
}
}
@@ -20887,7 +19833,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS6", 10) == 0)
{
{
-return dev_storage + 2517;
+return dev_storage + 2583;
}
}
@@ -20902,7 +19848,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst96", 10) == 0)
{
{
-return dev_storage + 202;
+return dev_storage + 203;
}
}
@@ -20917,7 +19863,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst86", 10) == 0)
{
{
-return dev_storage + 192;
+return dev_storage + 193;
}
}
@@ -20932,7 +19878,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst76", 10) == 0)
{
{
-return dev_storage + 182;
+return dev_storage + 183;
}
}
@@ -20947,7 +19893,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst66", 10) == 0)
{
{
-return dev_storage + 172;
+return dev_storage + 173;
}
}
@@ -20965,7 +19911,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty56", 10) == 0)
{
{
-return dev_storage + 293;
+return dev_storage + 295;
}
}
@@ -20980,7 +19926,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst56", 10) == 0)
{
{
-return dev_storage + 162;
+return dev_storage + 163;
}
}
@@ -21004,7 +19950,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty46", 10) == 0)
{
{
-return dev_storage + 283;
+return dev_storage + 285;
}
}
@@ -21019,7 +19965,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst46", 10) == 0)
{
{
-return dev_storage + 152;
+return dev_storage + 153;
}
}
@@ -21043,7 +19989,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty36", 10) == 0)
{
{
-return dev_storage + 273;
+return dev_storage + 275;
}
}
@@ -21058,7 +20004,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst36", 10) == 0)
{
{
-return dev_storage + 142;
+return dev_storage + 143;
}
}
@@ -21082,7 +20028,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st126", 10) == 0)
{
{
-return dev_storage + 2508;
+return dev_storage + 2574;
}
}
@@ -21097,7 +20043,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty26", 10) == 0)
{
{
-return dev_storage + 263;
+return dev_storage + 265;
}
}
@@ -21112,7 +20058,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst26", 10) == 0)
{
{
-return dev_storage + 132;
+return dev_storage + 133;
}
}
@@ -21136,7 +20082,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st116", 10) == 0)
{
{
-return dev_storage + 2498;
+return dev_storage + 2564;
}
}
@@ -21151,7 +20097,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty16", 10) == 0)
{
{
-return dev_storage + 253;
+return dev_storage + 255;
}
}
@@ -21166,7 +20112,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst16", 10) == 0)
{
{
-return dev_storage + 122;
+return dev_storage + 123;
}
}
@@ -21202,7 +20148,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st106", 10) == 0)
{
{
-return dev_storage + 2488;
+return dev_storage + 2554;
}
}
@@ -21226,7 +20172,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz15", 10) == 0)
{
{
-return dev_storage + 733;
+return dev_storage + 799;
}
}
@@ -21240,11 +20186,26 @@ return NULL;
case 'y':
switch (KR_keyword [8])
{
+ case 'm':
+ if (strncmp (KR_keyword, "/dev/ptym5", 10) == 0)
+ {
+{
+return dev_storage + 308;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
case 'S':
if (strncmp (KR_keyword, "/dev/ttyS5", 10) == 0)
{
{
-return dev_storage + 2516;
+return dev_storage + 2582;
}
}
@@ -21259,7 +20220,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty55", 10) == 0)
{
{
-return dev_storage + 292;
+return dev_storage + 294;
}
}
@@ -21274,7 +20235,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty45", 10) == 0)
{
{
-return dev_storage + 282;
+return dev_storage + 284;
}
}
@@ -21289,7 +20250,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty35", 10) == 0)
{
{
-return dev_storage + 272;
+return dev_storage + 274;
}
}
@@ -21304,7 +20265,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty25", 10) == 0)
{
{
-return dev_storage + 262;
+return dev_storage + 264;
}
}
@@ -21322,7 +20283,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy15", 10) == 0)
{
{
-return dev_storage + 718;
+return dev_storage + 784;
}
}
@@ -21337,7 +20298,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty15", 10) == 0)
{
{
-return dev_storage + 252;
+return dev_storage + 254;
}
}
@@ -21364,7 +20325,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx15", 10) == 0)
{
{
-return dev_storage + 703;
+return dev_storage + 769;
}
}
@@ -21379,7 +20340,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw15", 10) == 0)
{
{
-return dev_storage + 688;
+return dev_storage + 754;
}
}
@@ -21394,7 +20355,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv15", 10) == 0)
{
{
-return dev_storage + 673;
+return dev_storage + 739;
}
}
@@ -21409,7 +20370,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu15", 10) == 0)
{
{
-return dev_storage + 658;
+return dev_storage + 724;
}
}
@@ -21427,7 +20388,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst95", 10) == 0)
{
{
-return dev_storage + 201;
+return dev_storage + 202;
}
}
@@ -21442,7 +20403,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst85", 10) == 0)
{
{
-return dev_storage + 191;
+return dev_storage + 192;
}
}
@@ -21457,7 +20418,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst75", 10) == 0)
{
{
-return dev_storage + 181;
+return dev_storage + 182;
}
}
@@ -21472,7 +20433,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst65", 10) == 0)
{
{
-return dev_storage + 171;
+return dev_storage + 172;
}
}
@@ -21487,7 +20448,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst55", 10) == 0)
{
{
-return dev_storage + 161;
+return dev_storage + 162;
}
}
@@ -21502,7 +20463,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst45", 10) == 0)
{
{
-return dev_storage + 151;
+return dev_storage + 152;
}
}
@@ -21517,7 +20478,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst35", 10) == 0)
{
{
-return dev_storage + 141;
+return dev_storage + 142;
}
}
@@ -21532,7 +20493,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst25", 10) == 0)
{
{
-return dev_storage + 131;
+return dev_storage + 132;
}
}
@@ -21550,7 +20511,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt15", 10) == 0)
{
{
-return dev_storage + 643;
+return dev_storage + 709;
}
}
@@ -21565,7 +20526,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst15", 10) == 0)
{
{
-return dev_storage + 121;
+return dev_storage + 122;
}
}
@@ -21592,7 +20553,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds15", 10) == 0)
{
{
-return dev_storage + 628;
+return dev_storage + 694;
}
}
@@ -21607,7 +20568,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr15", 10) == 0)
{
{
-return dev_storage + 613;
+return dev_storage + 679;
}
}
@@ -21622,7 +20583,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq15", 10) == 0)
{
{
-return dev_storage + 598;
+return dev_storage + 664;
}
}
@@ -21637,7 +20598,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp15", 10) == 0)
{
{
-return dev_storage + 583;
+return dev_storage + 649;
}
}
@@ -21652,7 +20613,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo15", 10) == 0)
{
{
-return dev_storage + 568;
+return dev_storage + 634;
}
}
@@ -21670,7 +20631,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn15", 10) == 0)
{
{
-return dev_storage + 553;
+return dev_storage + 619;
}
}
@@ -21709,7 +20670,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm15", 10) == 0)
{
{
-return dev_storage + 538;
+return dev_storage + 604;
}
}
@@ -21745,7 +20706,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl15", 10) == 0)
{
{
-return dev_storage + 523;
+return dev_storage + 589;
}
}
@@ -21760,7 +20721,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk15", 10) == 0)
{
{
-return dev_storage + 508;
+return dev_storage + 574;
}
}
@@ -21775,7 +20736,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj15", 10) == 0)
{
{
-return dev_storage + 493;
+return dev_storage + 559;
}
}
@@ -21790,7 +20751,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi15", 10) == 0)
{
{
-return dev_storage + 478;
+return dev_storage + 544;
}
}
@@ -21805,7 +20766,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh15", 10) == 0)
{
{
-return dev_storage + 463;
+return dev_storage + 529;
}
}
@@ -21820,7 +20781,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg15", 10) == 0)
{
{
-return dev_storage + 448;
+return dev_storage + 514;
}
}
@@ -21835,7 +20796,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf15", 10) == 0)
{
{
-return dev_storage + 433;
+return dev_storage + 499;
}
}
@@ -21850,7 +20811,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde15", 10) == 0)
{
{
-return dev_storage + 418;
+return dev_storage + 484;
}
}
@@ -21868,7 +20829,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddx5", 10) == 0)
{
{
-return dev_storage + 2355;
+return dev_storage + 2421;
}
}
@@ -21883,7 +20844,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddw5", 10) == 0)
{
{
-return dev_storage + 2340;
+return dev_storage + 2406;
}
}
@@ -21898,7 +20859,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddv5", 10) == 0)
{
{
-return dev_storage + 2325;
+return dev_storage + 2391;
}
}
@@ -21913,7 +20874,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddu5", 10) == 0)
{
{
-return dev_storage + 2310;
+return dev_storage + 2376;
}
}
@@ -21928,7 +20889,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddt5", 10) == 0)
{
{
-return dev_storage + 2295;
+return dev_storage + 2361;
}
}
@@ -21943,7 +20904,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdds5", 10) == 0)
{
{
-return dev_storage + 2280;
+return dev_storage + 2346;
}
}
@@ -21958,7 +20919,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddr5", 10) == 0)
{
{
-return dev_storage + 2265;
+return dev_storage + 2331;
}
}
@@ -21973,7 +20934,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddq5", 10) == 0)
{
{
-return dev_storage + 2250;
+return dev_storage + 2316;
}
}
@@ -21988,7 +20949,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddp5", 10) == 0)
{
{
-return dev_storage + 2235;
+return dev_storage + 2301;
}
}
@@ -22003,7 +20964,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddo5", 10) == 0)
{
{
-return dev_storage + 2220;
+return dev_storage + 2286;
}
}
@@ -22018,7 +20979,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddn5", 10) == 0)
{
{
-return dev_storage + 2205;
+return dev_storage + 2271;
}
}
@@ -22033,7 +20994,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddm5", 10) == 0)
{
{
-return dev_storage + 2190;
+return dev_storage + 2256;
}
}
@@ -22048,7 +21009,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddl5", 10) == 0)
{
{
-return dev_storage + 2175;
+return dev_storage + 2241;
}
}
@@ -22063,7 +21024,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddk5", 10) == 0)
{
{
-return dev_storage + 2160;
+return dev_storage + 2226;
}
}
@@ -22078,7 +21039,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddj5", 10) == 0)
{
{
-return dev_storage + 2145;
+return dev_storage + 2211;
}
}
@@ -22093,7 +21054,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddi5", 10) == 0)
{
{
-return dev_storage + 2130;
+return dev_storage + 2196;
}
}
@@ -22108,7 +21069,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddh5", 10) == 0)
{
{
-return dev_storage + 2115;
+return dev_storage + 2181;
}
}
@@ -22123,7 +21084,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddg5", 10) == 0)
{
{
-return dev_storage + 2100;
+return dev_storage + 2166;
}
}
@@ -22138,7 +21099,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddf5", 10) == 0)
{
{
-return dev_storage + 2085;
+return dev_storage + 2151;
}
}
@@ -22153,7 +21114,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdde5", 10) == 0)
{
{
-return dev_storage + 2070;
+return dev_storage + 2136;
}
}
@@ -22168,7 +21129,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddd5", 10) == 0)
{
{
-return dev_storage + 2055;
+return dev_storage + 2121;
}
}
@@ -22183,7 +21144,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddc5", 10) == 0)
{
{
-return dev_storage + 2040;
+return dev_storage + 2106;
}
}
@@ -22198,7 +21159,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddb5", 10) == 0)
{
{
-return dev_storage + 2025;
+return dev_storage + 2091;
}
}
@@ -22213,7 +21174,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdda5", 10) == 0)
{
{
-return dev_storage + 2010;
+return dev_storage + 2076;
}
}
@@ -22231,7 +21192,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd15", 10) == 0)
{
{
-return dev_storage + 403;
+return dev_storage + 469;
}
}
@@ -22246,7 +21207,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd15", 10) == 0)
{
{
-return dev_storage + 317;
+return dev_storage + 383;
}
}
@@ -22276,7 +21237,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcz5", 10) == 0)
{
{
-return dev_storage + 1971;
+return dev_storage + 2037;
}
}
@@ -22291,7 +21252,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcy5", 10) == 0)
{
{
-return dev_storage + 1956;
+return dev_storage + 2022;
}
}
@@ -22306,7 +21267,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcx5", 10) == 0)
{
{
-return dev_storage + 1941;
+return dev_storage + 2007;
}
}
@@ -22321,7 +21282,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcw5", 10) == 0)
{
{
-return dev_storage + 1926;
+return dev_storage + 1992;
}
}
@@ -22336,7 +21297,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcv5", 10) == 0)
{
{
-return dev_storage + 1911;
+return dev_storage + 1977;
}
}
@@ -22351,7 +21312,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcu5", 10) == 0)
{
{
-return dev_storage + 1896;
+return dev_storage + 1962;
}
}
@@ -22366,7 +21327,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdct5", 10) == 0)
{
{
-return dev_storage + 1881;
+return dev_storage + 1947;
}
}
@@ -22381,7 +21342,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcs5", 10) == 0)
{
{
-return dev_storage + 1866;
+return dev_storage + 1932;
}
}
@@ -22396,7 +21357,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcr5", 10) == 0)
{
{
-return dev_storage + 1851;
+return dev_storage + 1917;
}
}
@@ -22411,7 +21372,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcq5", 10) == 0)
{
{
-return dev_storage + 1836;
+return dev_storage + 1902;
}
}
@@ -22426,7 +21387,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcp5", 10) == 0)
{
{
-return dev_storage + 1821;
+return dev_storage + 1887;
}
}
@@ -22441,7 +21402,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdco5", 10) == 0)
{
{
-return dev_storage + 1806;
+return dev_storage + 1872;
}
}
@@ -22456,7 +21417,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcn5", 10) == 0)
{
{
-return dev_storage + 1791;
+return dev_storage + 1857;
}
}
@@ -22471,7 +21432,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcm5", 10) == 0)
{
{
-return dev_storage + 1776;
+return dev_storage + 1842;
}
}
@@ -22486,7 +21447,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcl5", 10) == 0)
{
{
-return dev_storage + 1761;
+return dev_storage + 1827;
}
}
@@ -22501,7 +21462,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdck5", 10) == 0)
{
{
-return dev_storage + 1746;
+return dev_storage + 1812;
}
}
@@ -22516,7 +21477,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcj5", 10) == 0)
{
{
-return dev_storage + 1731;
+return dev_storage + 1797;
}
}
@@ -22531,7 +21492,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdci5", 10) == 0)
{
{
-return dev_storage + 1716;
+return dev_storage + 1782;
}
}
@@ -22546,7 +21507,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdch5", 10) == 0)
{
{
-return dev_storage + 1701;
+return dev_storage + 1767;
}
}
@@ -22561,7 +21522,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcg5", 10) == 0)
{
{
-return dev_storage + 1686;
+return dev_storage + 1752;
}
}
@@ -22576,7 +21537,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcf5", 10) == 0)
{
{
-return dev_storage + 1671;
+return dev_storage + 1737;
}
}
@@ -22591,7 +21552,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdce5", 10) == 0)
{
{
-return dev_storage + 1656;
+return dev_storage + 1722;
}
}
@@ -22606,7 +21567,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcd5", 10) == 0)
{
{
-return dev_storage + 1641;
+return dev_storage + 1707;
}
}
@@ -22621,7 +21582,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcc5", 10) == 0)
{
{
-return dev_storage + 1626;
+return dev_storage + 1692;
}
}
@@ -22636,7 +21597,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcb5", 10) == 0)
{
{
-return dev_storage + 1611;
+return dev_storage + 1677;
}
}
@@ -22651,7 +21612,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdca5", 10) == 0)
{
{
-return dev_storage + 1596;
+return dev_storage + 1662;
}
}
@@ -22666,7 +21627,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc15", 10) == 0)
{
{
-return dev_storage + 388;
+return dev_storage + 454;
}
}
@@ -22690,7 +21651,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbz5", 10) == 0)
{
{
-return dev_storage + 1555;
+return dev_storage + 1621;
}
}
@@ -22705,7 +21666,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdby5", 10) == 0)
{
{
-return dev_storage + 1540;
+return dev_storage + 1606;
}
}
@@ -22720,7 +21681,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbx5", 10) == 0)
{
{
-return dev_storage + 1525;
+return dev_storage + 1591;
}
}
@@ -22735,7 +21696,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbw5", 10) == 0)
{
{
-return dev_storage + 1510;
+return dev_storage + 1576;
}
}
@@ -22750,7 +21711,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbv5", 10) == 0)
{
{
-return dev_storage + 1495;
+return dev_storage + 1561;
}
}
@@ -22765,7 +21726,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbu5", 10) == 0)
{
{
-return dev_storage + 1480;
+return dev_storage + 1546;
}
}
@@ -22780,7 +21741,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbt5", 10) == 0)
{
{
-return dev_storage + 1465;
+return dev_storage + 1531;
}
}
@@ -22795,7 +21756,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbs5", 10) == 0)
{
{
-return dev_storage + 1450;
+return dev_storage + 1516;
}
}
@@ -22810,7 +21771,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbr5", 10) == 0)
{
{
-return dev_storage + 1435;
+return dev_storage + 1501;
}
}
@@ -22825,7 +21786,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbq5", 10) == 0)
{
{
-return dev_storage + 1420;
+return dev_storage + 1486;
}
}
@@ -22840,7 +21801,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbp5", 10) == 0)
{
{
-return dev_storage + 1405;
+return dev_storage + 1471;
}
}
@@ -22855,7 +21816,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbo5", 10) == 0)
{
{
-return dev_storage + 1390;
+return dev_storage + 1456;
}
}
@@ -22870,7 +21831,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbn5", 10) == 0)
{
{
-return dev_storage + 1375;
+return dev_storage + 1441;
}
}
@@ -22885,7 +21846,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbm5", 10) == 0)
{
{
-return dev_storage + 1360;
+return dev_storage + 1426;
}
}
@@ -22900,7 +21861,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbl5", 10) == 0)
{
{
-return dev_storage + 1345;
+return dev_storage + 1411;
}
}
@@ -22915,7 +21876,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbk5", 10) == 0)
{
{
-return dev_storage + 1330;
+return dev_storage + 1396;
}
}
@@ -22930,7 +21891,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbj5", 10) == 0)
{
{
-return dev_storage + 1315;
+return dev_storage + 1381;
}
}
@@ -22945,7 +21906,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbi5", 10) == 0)
{
{
-return dev_storage + 1300;
+return dev_storage + 1366;
}
}
@@ -22960,7 +21921,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbh5", 10) == 0)
{
{
-return dev_storage + 1285;
+return dev_storage + 1351;
}
}
@@ -22975,7 +21936,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbg5", 10) == 0)
{
{
-return dev_storage + 1270;
+return dev_storage + 1336;
}
}
@@ -22990,7 +21951,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbf5", 10) == 0)
{
{
-return dev_storage + 1255;
+return dev_storage + 1321;
}
}
@@ -23005,7 +21966,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbe5", 10) == 0)
{
{
-return dev_storage + 1240;
+return dev_storage + 1306;
}
}
@@ -23020,7 +21981,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbd5", 10) == 0)
{
{
-return dev_storage + 1225;
+return dev_storage + 1291;
}
}
@@ -23035,7 +21996,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbc5", 10) == 0)
{
{
-return dev_storage + 1210;
+return dev_storage + 1276;
}
}
@@ -23050,7 +22011,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbb5", 10) == 0)
{
{
-return dev_storage + 1195;
+return dev_storage + 1261;
}
}
@@ -23065,7 +22026,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdba5", 10) == 0)
{
{
-return dev_storage + 1180;
+return dev_storage + 1246;
}
}
@@ -23080,7 +22041,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb15", 10) == 0)
{
{
-return dev_storage + 373;
+return dev_storage + 439;
}
}
@@ -23104,7 +22065,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaz5", 10) == 0)
{
{
-return dev_storage + 1139;
+return dev_storage + 1205;
}
}
@@ -23119,7 +22080,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sday5", 10) == 0)
{
{
-return dev_storage + 1124;
+return dev_storage + 1190;
}
}
@@ -23134,7 +22095,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdax5", 10) == 0)
{
{
-return dev_storage + 1109;
+return dev_storage + 1175;
}
}
@@ -23149,7 +22110,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaw5", 10) == 0)
{
{
-return dev_storage + 1094;
+return dev_storage + 1160;
}
}
@@ -23164,7 +22125,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdav5", 10) == 0)
{
{
-return dev_storage + 1079;
+return dev_storage + 1145;
}
}
@@ -23179,7 +22140,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdau5", 10) == 0)
{
{
-return dev_storage + 1064;
+return dev_storage + 1130;
}
}
@@ -23194,7 +22155,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdat5", 10) == 0)
{
{
-return dev_storage + 1049;
+return dev_storage + 1115;
}
}
@@ -23209,7 +22170,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdas5", 10) == 0)
{
{
-return dev_storage + 1034;
+return dev_storage + 1100;
}
}
@@ -23224,7 +22185,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdar5", 10) == 0)
{
{
-return dev_storage + 1019;
+return dev_storage + 1085;
}
}
@@ -23239,7 +22200,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaq5", 10) == 0)
{
{
-return dev_storage + 1004;
+return dev_storage + 1070;
}
}
@@ -23254,7 +22215,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdap5", 10) == 0)
{
{
-return dev_storage + 989;
+return dev_storage + 1055;
}
}
@@ -23269,7 +22230,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdao5", 10) == 0)
{
{
-return dev_storage + 974;
+return dev_storage + 1040;
}
}
@@ -23284,7 +22245,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdan5", 10) == 0)
{
{
-return dev_storage + 959;
+return dev_storage + 1025;
}
}
@@ -23299,7 +22260,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdam5", 10) == 0)
{
{
-return dev_storage + 944;
+return dev_storage + 1010;
}
}
@@ -23314,7 +22275,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdal5", 10) == 0)
{
{
-return dev_storage + 929;
+return dev_storage + 995;
}
}
@@ -23329,7 +22290,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdak5", 10) == 0)
{
{
-return dev_storage + 914;
+return dev_storage + 980;
}
}
@@ -23344,7 +22305,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaj5", 10) == 0)
{
{
-return dev_storage + 899;
+return dev_storage + 965;
}
}
@@ -23359,7 +22320,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdai5", 10) == 0)
{
{
-return dev_storage + 884;
+return dev_storage + 950;
}
}
@@ -23374,7 +22335,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdah5", 10) == 0)
{
{
-return dev_storage + 869;
+return dev_storage + 935;
}
}
@@ -23389,7 +22350,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdag5", 10) == 0)
{
{
-return dev_storage + 854;
+return dev_storage + 920;
}
}
@@ -23404,7 +22365,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaf5", 10) == 0)
{
{
-return dev_storage + 839;
+return dev_storage + 905;
}
}
@@ -23419,7 +22380,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdae5", 10) == 0)
{
{
-return dev_storage + 824;
+return dev_storage + 890;
}
}
@@ -23434,7 +22395,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdad5", 10) == 0)
{
{
-return dev_storage + 809;
+return dev_storage + 875;
}
}
@@ -23449,7 +22410,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdac5", 10) == 0)
{
{
-return dev_storage + 794;
+return dev_storage + 860;
}
}
@@ -23464,7 +22425,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdab5", 10) == 0)
{
{
-return dev_storage + 779;
+return dev_storage + 845;
}
}
@@ -23479,7 +22440,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaa5", 10) == 0)
{
{
-return dev_storage + 764;
+return dev_storage + 830;
}
}
@@ -23494,7 +22455,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda15", 10) == 0)
{
{
-return dev_storage + 358;
+return dev_storage + 424;
}
}
@@ -23518,7 +22479,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st125", 10) == 0)
{
{
-return dev_storage + 2507;
+return dev_storage + 2573;
}
}
@@ -23533,7 +22494,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st115", 10) == 0)
{
{
-return dev_storage + 2497;
+return dev_storage + 2563;
}
}
@@ -23548,7 +22509,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st105", 10) == 0)
{
{
-return dev_storage + 2487;
+return dev_storage + 2553;
}
}
@@ -23578,7 +22539,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz14", 10) == 0)
{
{
-return dev_storage + 732;
+return dev_storage + 798;
}
}
@@ -23592,11 +22553,26 @@ return NULL;
case 'y':
switch (KR_keyword [8])
{
+ case 'm':
+ if (strncmp (KR_keyword, "/dev/ptym4", 10) == 0)
+ {
+{
+return dev_storage + 307;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
case 'S':
if (strncmp (KR_keyword, "/dev/ttyS4", 10) == 0)
{
{
-return dev_storage + 2515;
+return dev_storage + 2581;
}
}
@@ -23611,7 +22587,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty54", 10) == 0)
{
{
-return dev_storage + 291;
+return dev_storage + 293;
}
}
@@ -23626,7 +22602,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty44", 10) == 0)
{
{
-return dev_storage + 281;
+return dev_storage + 283;
}
}
@@ -23641,7 +22617,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty34", 10) == 0)
{
{
-return dev_storage + 271;
+return dev_storage + 273;
}
}
@@ -23656,7 +22632,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty24", 10) == 0)
{
{
-return dev_storage + 261;
+return dev_storage + 263;
}
}
@@ -23674,7 +22650,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy14", 10) == 0)
{
{
-return dev_storage + 717;
+return dev_storage + 783;
}
}
@@ -23689,7 +22665,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty14", 10) == 0)
{
{
-return dev_storage + 251;
+return dev_storage + 253;
}
}
@@ -23716,7 +22692,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx14", 10) == 0)
{
{
-return dev_storage + 702;
+return dev_storage + 768;
}
}
@@ -23731,7 +22707,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw14", 10) == 0)
{
{
-return dev_storage + 687;
+return dev_storage + 753;
}
}
@@ -23746,7 +22722,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv14", 10) == 0)
{
{
-return dev_storage + 672;
+return dev_storage + 738;
}
}
@@ -23761,7 +22737,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu14", 10) == 0)
{
{
-return dev_storage + 657;
+return dev_storage + 723;
}
}
@@ -23779,7 +22755,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst94", 10) == 0)
{
{
-return dev_storage + 200;
+return dev_storage + 201;
}
}
@@ -23794,7 +22770,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst84", 10) == 0)
{
{
-return dev_storage + 190;
+return dev_storage + 191;
}
}
@@ -23809,7 +22785,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst74", 10) == 0)
{
{
-return dev_storage + 180;
+return dev_storage + 181;
}
}
@@ -23824,7 +22800,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst64", 10) == 0)
{
{
-return dev_storage + 170;
+return dev_storage + 171;
}
}
@@ -23839,7 +22815,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst54", 10) == 0)
{
{
-return dev_storage + 160;
+return dev_storage + 161;
}
}
@@ -23854,7 +22830,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst44", 10) == 0)
{
{
-return dev_storage + 150;
+return dev_storage + 151;
}
}
@@ -23869,7 +22845,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst34", 10) == 0)
{
{
-return dev_storage + 140;
+return dev_storage + 141;
}
}
@@ -23884,7 +22860,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst24", 10) == 0)
{
{
-return dev_storage + 130;
+return dev_storage + 131;
}
}
@@ -23902,7 +22878,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt14", 10) == 0)
{
{
-return dev_storage + 642;
+return dev_storage + 708;
}
}
@@ -23917,7 +22893,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst14", 10) == 0)
{
{
-return dev_storage + 120;
+return dev_storage + 121;
}
}
@@ -23944,7 +22920,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds14", 10) == 0)
{
{
-return dev_storage + 627;
+return dev_storage + 693;
}
}
@@ -23959,7 +22935,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr14", 10) == 0)
{
{
-return dev_storage + 612;
+return dev_storage + 678;
}
}
@@ -23974,7 +22950,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq14", 10) == 0)
{
{
-return dev_storage + 597;
+return dev_storage + 663;
}
}
@@ -23989,7 +22965,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp14", 10) == 0)
{
{
-return dev_storage + 582;
+return dev_storage + 648;
}
}
@@ -24004,7 +22980,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo14", 10) == 0)
{
{
-return dev_storage + 567;
+return dev_storage + 633;
}
}
@@ -24022,7 +22998,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn14", 10) == 0)
{
{
-return dev_storage + 552;
+return dev_storage + 618;
}
}
@@ -24061,7 +23037,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm14", 10) == 0)
{
{
-return dev_storage + 537;
+return dev_storage + 603;
}
}
@@ -24097,7 +23073,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl14", 10) == 0)
{
{
-return dev_storage + 522;
+return dev_storage + 588;
}
}
@@ -24112,7 +23088,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk14", 10) == 0)
{
{
-return dev_storage + 507;
+return dev_storage + 573;
}
}
@@ -24127,7 +23103,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj14", 10) == 0)
{
{
-return dev_storage + 492;
+return dev_storage + 558;
}
}
@@ -24142,7 +23118,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi14", 10) == 0)
{
{
-return dev_storage + 477;
+return dev_storage + 543;
}
}
@@ -24157,7 +23133,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh14", 10) == 0)
{
{
-return dev_storage + 462;
+return dev_storage + 528;
}
}
@@ -24172,7 +23148,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg14", 10) == 0)
{
{
-return dev_storage + 447;
+return dev_storage + 513;
}
}
@@ -24187,7 +23163,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf14", 10) == 0)
{
{
-return dev_storage + 432;
+return dev_storage + 498;
}
}
@@ -24202,7 +23178,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde14", 10) == 0)
{
{
-return dev_storage + 417;
+return dev_storage + 483;
}
}
@@ -24220,7 +23196,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddx4", 10) == 0)
{
{
-return dev_storage + 2354;
+return dev_storage + 2420;
}
}
@@ -24235,7 +23211,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddw4", 10) == 0)
{
{
-return dev_storage + 2339;
+return dev_storage + 2405;
}
}
@@ -24250,7 +23226,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddv4", 10) == 0)
{
{
-return dev_storage + 2324;
+return dev_storage + 2390;
}
}
@@ -24265,7 +23241,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddu4", 10) == 0)
{
{
-return dev_storage + 2309;
+return dev_storage + 2375;
}
}
@@ -24280,7 +23256,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddt4", 10) == 0)
{
{
-return dev_storage + 2294;
+return dev_storage + 2360;
}
}
@@ -24295,7 +23271,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdds4", 10) == 0)
{
{
-return dev_storage + 2279;
+return dev_storage + 2345;
}
}
@@ -24310,7 +23286,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddr4", 10) == 0)
{
{
-return dev_storage + 2264;
+return dev_storage + 2330;
}
}
@@ -24325,7 +23301,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddq4", 10) == 0)
{
{
-return dev_storage + 2249;
+return dev_storage + 2315;
}
}
@@ -24340,7 +23316,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddp4", 10) == 0)
{
{
-return dev_storage + 2234;
+return dev_storage + 2300;
}
}
@@ -24355,7 +23331,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddo4", 10) == 0)
{
{
-return dev_storage + 2219;
+return dev_storage + 2285;
}
}
@@ -24370,7 +23346,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddn4", 10) == 0)
{
{
-return dev_storage + 2204;
+return dev_storage + 2270;
}
}
@@ -24385,7 +23361,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddm4", 10) == 0)
{
{
-return dev_storage + 2189;
+return dev_storage + 2255;
}
}
@@ -24400,7 +23376,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddl4", 10) == 0)
{
{
-return dev_storage + 2174;
+return dev_storage + 2240;
}
}
@@ -24415,7 +23391,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddk4", 10) == 0)
{
{
-return dev_storage + 2159;
+return dev_storage + 2225;
}
}
@@ -24430,7 +23406,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddj4", 10) == 0)
{
{
-return dev_storage + 2144;
+return dev_storage + 2210;
}
}
@@ -24445,7 +23421,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddi4", 10) == 0)
{
{
-return dev_storage + 2129;
+return dev_storage + 2195;
}
}
@@ -24460,7 +23436,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddh4", 10) == 0)
{
{
-return dev_storage + 2114;
+return dev_storage + 2180;
}
}
@@ -24475,7 +23451,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddg4", 10) == 0)
{
{
-return dev_storage + 2099;
+return dev_storage + 2165;
}
}
@@ -24490,7 +23466,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddf4", 10) == 0)
{
{
-return dev_storage + 2084;
+return dev_storage + 2150;
}
}
@@ -24505,7 +23481,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdde4", 10) == 0)
{
{
-return dev_storage + 2069;
+return dev_storage + 2135;
}
}
@@ -24520,7 +23496,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddd4", 10) == 0)
{
{
-return dev_storage + 2054;
+return dev_storage + 2120;
}
}
@@ -24535,7 +23511,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddc4", 10) == 0)
{
{
-return dev_storage + 2039;
+return dev_storage + 2105;
}
}
@@ -24550,7 +23526,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddb4", 10) == 0)
{
{
-return dev_storage + 2024;
+return dev_storage + 2090;
}
}
@@ -24565,7 +23541,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdda4", 10) == 0)
{
{
-return dev_storage + 2009;
+return dev_storage + 2075;
}
}
@@ -24583,7 +23559,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd14", 10) == 0)
{
{
-return dev_storage + 402;
+return dev_storage + 468;
}
}
@@ -24598,7 +23574,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd14", 10) == 0)
{
{
-return dev_storage + 316;
+return dev_storage + 382;
}
}
@@ -24628,7 +23604,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcz4", 10) == 0)
{
{
-return dev_storage + 1970;
+return dev_storage + 2036;
}
}
@@ -24643,7 +23619,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcy4", 10) == 0)
{
{
-return dev_storage + 1955;
+return dev_storage + 2021;
}
}
@@ -24658,7 +23634,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcx4", 10) == 0)
{
{
-return dev_storage + 1940;
+return dev_storage + 2006;
}
}
@@ -24673,7 +23649,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcw4", 10) == 0)
{
{
-return dev_storage + 1925;
+return dev_storage + 1991;
}
}
@@ -24688,7 +23664,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcv4", 10) == 0)
{
{
-return dev_storage + 1910;
+return dev_storage + 1976;
}
}
@@ -24703,7 +23679,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcu4", 10) == 0)
{
{
-return dev_storage + 1895;
+return dev_storage + 1961;
}
}
@@ -24718,7 +23694,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdct4", 10) == 0)
{
{
-return dev_storage + 1880;
+return dev_storage + 1946;
}
}
@@ -24733,7 +23709,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcs4", 10) == 0)
{
{
-return dev_storage + 1865;
+return dev_storage + 1931;
}
}
@@ -24748,7 +23724,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcr4", 10) == 0)
{
{
-return dev_storage + 1850;
+return dev_storage + 1916;
}
}
@@ -24763,7 +23739,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcq4", 10) == 0)
{
{
-return dev_storage + 1835;
+return dev_storage + 1901;
}
}
@@ -24778,7 +23754,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcp4", 10) == 0)
{
{
-return dev_storage + 1820;
+return dev_storage + 1886;
}
}
@@ -24793,7 +23769,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdco4", 10) == 0)
{
{
-return dev_storage + 1805;
+return dev_storage + 1871;
}
}
@@ -24808,7 +23784,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcn4", 10) == 0)
{
{
-return dev_storage + 1790;
+return dev_storage + 1856;
}
}
@@ -24823,7 +23799,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcm4", 10) == 0)
{
{
-return dev_storage + 1775;
+return dev_storage + 1841;
}
}
@@ -24838,7 +23814,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcl4", 10) == 0)
{
{
-return dev_storage + 1760;
+return dev_storage + 1826;
}
}
@@ -24853,7 +23829,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdck4", 10) == 0)
{
{
-return dev_storage + 1745;
+return dev_storage + 1811;
}
}
@@ -24868,7 +23844,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcj4", 10) == 0)
{
{
-return dev_storage + 1730;
+return dev_storage + 1796;
}
}
@@ -24883,7 +23859,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdci4", 10) == 0)
{
{
-return dev_storage + 1715;
+return dev_storage + 1781;
}
}
@@ -24898,7 +23874,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdch4", 10) == 0)
{
{
-return dev_storage + 1700;
+return dev_storage + 1766;
}
}
@@ -24913,7 +23889,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcg4", 10) == 0)
{
{
-return dev_storage + 1685;
+return dev_storage + 1751;
}
}
@@ -24928,7 +23904,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcf4", 10) == 0)
{
{
-return dev_storage + 1670;
+return dev_storage + 1736;
}
}
@@ -24943,7 +23919,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdce4", 10) == 0)
{
{
-return dev_storage + 1655;
+return dev_storage + 1721;
}
}
@@ -24958,7 +23934,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcd4", 10) == 0)
{
{
-return dev_storage + 1640;
+return dev_storage + 1706;
}
}
@@ -24973,7 +23949,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcc4", 10) == 0)
{
{
-return dev_storage + 1625;
+return dev_storage + 1691;
}
}
@@ -24988,7 +23964,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcb4", 10) == 0)
{
{
-return dev_storage + 1610;
+return dev_storage + 1676;
}
}
@@ -25003,7 +23979,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdca4", 10) == 0)
{
{
-return dev_storage + 1595;
+return dev_storage + 1661;
}
}
@@ -25018,7 +23994,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc14", 10) == 0)
{
{
-return dev_storage + 387;
+return dev_storage + 453;
}
}
@@ -25042,7 +24018,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbz4", 10) == 0)
{
{
-return dev_storage + 1554;
+return dev_storage + 1620;
}
}
@@ -25057,7 +24033,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdby4", 10) == 0)
{
{
-return dev_storage + 1539;
+return dev_storage + 1605;
}
}
@@ -25072,7 +24048,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbx4", 10) == 0)
{
{
-return dev_storage + 1524;
+return dev_storage + 1590;
}
}
@@ -25087,7 +24063,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbw4", 10) == 0)
{
{
-return dev_storage + 1509;
+return dev_storage + 1575;
}
}
@@ -25102,7 +24078,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbv4", 10) == 0)
{
{
-return dev_storage + 1494;
+return dev_storage + 1560;
}
}
@@ -25117,7 +24093,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbu4", 10) == 0)
{
{
-return dev_storage + 1479;
+return dev_storage + 1545;
}
}
@@ -25132,7 +24108,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbt4", 10) == 0)
{
{
-return dev_storage + 1464;
+return dev_storage + 1530;
}
}
@@ -25147,7 +24123,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbs4", 10) == 0)
{
{
-return dev_storage + 1449;
+return dev_storage + 1515;
}
}
@@ -25162,7 +24138,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbr4", 10) == 0)
{
{
-return dev_storage + 1434;
+return dev_storage + 1500;
}
}
@@ -25177,7 +24153,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbq4", 10) == 0)
{
{
-return dev_storage + 1419;
+return dev_storage + 1485;
}
}
@@ -25192,7 +24168,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbp4", 10) == 0)
{
{
-return dev_storage + 1404;
+return dev_storage + 1470;
}
}
@@ -25207,7 +24183,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbo4", 10) == 0)
{
{
-return dev_storage + 1389;
+return dev_storage + 1455;
}
}
@@ -25222,7 +24198,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbn4", 10) == 0)
{
{
-return dev_storage + 1374;
+return dev_storage + 1440;
}
}
@@ -25237,7 +24213,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbm4", 10) == 0)
{
{
-return dev_storage + 1359;
+return dev_storage + 1425;
}
}
@@ -25252,7 +24228,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbl4", 10) == 0)
{
{
-return dev_storage + 1344;
+return dev_storage + 1410;
}
}
@@ -25267,7 +24243,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbk4", 10) == 0)
{
{
-return dev_storage + 1329;
+return dev_storage + 1395;
}
}
@@ -25282,7 +24258,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbj4", 10) == 0)
{
{
-return dev_storage + 1314;
+return dev_storage + 1380;
}
}
@@ -25297,7 +24273,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbi4", 10) == 0)
{
{
-return dev_storage + 1299;
+return dev_storage + 1365;
}
}
@@ -25312,7 +24288,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbh4", 10) == 0)
{
{
-return dev_storage + 1284;
+return dev_storage + 1350;
}
}
@@ -25327,7 +24303,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbg4", 10) == 0)
{
{
-return dev_storage + 1269;
+return dev_storage + 1335;
}
}
@@ -25342,7 +24318,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbf4", 10) == 0)
{
{
-return dev_storage + 1254;
+return dev_storage + 1320;
}
}
@@ -25357,7 +24333,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbe4", 10) == 0)
{
{
-return dev_storage + 1239;
+return dev_storage + 1305;
}
}
@@ -25372,7 +24348,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbd4", 10) == 0)
{
{
-return dev_storage + 1224;
+return dev_storage + 1290;
}
}
@@ -25387,7 +24363,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbc4", 10) == 0)
{
{
-return dev_storage + 1209;
+return dev_storage + 1275;
}
}
@@ -25402,7 +24378,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbb4", 10) == 0)
{
{
-return dev_storage + 1194;
+return dev_storage + 1260;
}
}
@@ -25417,7 +24393,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdba4", 10) == 0)
{
{
-return dev_storage + 1179;
+return dev_storage + 1245;
}
}
@@ -25432,7 +24408,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb14", 10) == 0)
{
{
-return dev_storage + 372;
+return dev_storage + 438;
}
}
@@ -25456,7 +24432,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaz4", 10) == 0)
{
{
-return dev_storage + 1138;
+return dev_storage + 1204;
}
}
@@ -25471,7 +24447,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sday4", 10) == 0)
{
{
-return dev_storage + 1123;
+return dev_storage + 1189;
}
}
@@ -25486,7 +24462,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdax4", 10) == 0)
{
{
-return dev_storage + 1108;
+return dev_storage + 1174;
}
}
@@ -25501,7 +24477,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaw4", 10) == 0)
{
{
-return dev_storage + 1093;
+return dev_storage + 1159;
}
}
@@ -25516,7 +24492,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdav4", 10) == 0)
{
{
-return dev_storage + 1078;
+return dev_storage + 1144;
}
}
@@ -25531,7 +24507,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdau4", 10) == 0)
{
{
-return dev_storage + 1063;
+return dev_storage + 1129;
}
}
@@ -25546,7 +24522,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdat4", 10) == 0)
{
{
-return dev_storage + 1048;
+return dev_storage + 1114;
}
}
@@ -25561,7 +24537,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdas4", 10) == 0)
{
{
-return dev_storage + 1033;
+return dev_storage + 1099;
}
}
@@ -25576,7 +24552,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdar4", 10) == 0)
{
{
-return dev_storage + 1018;
+return dev_storage + 1084;
}
}
@@ -25591,7 +24567,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaq4", 10) == 0)
{
{
-return dev_storage + 1003;
+return dev_storage + 1069;
}
}
@@ -25606,7 +24582,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdap4", 10) == 0)
{
{
-return dev_storage + 988;
+return dev_storage + 1054;
}
}
@@ -25621,7 +24597,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdao4", 10) == 0)
{
{
-return dev_storage + 973;
+return dev_storage + 1039;
}
}
@@ -25636,7 +24612,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdan4", 10) == 0)
{
{
-return dev_storage + 958;
+return dev_storage + 1024;
}
}
@@ -25651,7 +24627,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdam4", 10) == 0)
{
{
-return dev_storage + 943;
+return dev_storage + 1009;
}
}
@@ -25666,7 +24642,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdal4", 10) == 0)
{
{
-return dev_storage + 928;
+return dev_storage + 994;
}
}
@@ -25681,7 +24657,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdak4", 10) == 0)
{
{
-return dev_storage + 913;
+return dev_storage + 979;
}
}
@@ -25696,7 +24672,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaj4", 10) == 0)
{
{
-return dev_storage + 898;
+return dev_storage + 964;
}
}
@@ -25711,7 +24687,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdai4", 10) == 0)
{
{
-return dev_storage + 883;
+return dev_storage + 949;
}
}
@@ -25726,7 +24702,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdah4", 10) == 0)
{
{
-return dev_storage + 868;
+return dev_storage + 934;
}
}
@@ -25741,7 +24717,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdag4", 10) == 0)
{
{
-return dev_storage + 853;
+return dev_storage + 919;
}
}
@@ -25756,7 +24732,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaf4", 10) == 0)
{
{
-return dev_storage + 838;
+return dev_storage + 904;
}
}
@@ -25771,7 +24747,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdae4", 10) == 0)
{
{
-return dev_storage + 823;
+return dev_storage + 889;
}
}
@@ -25786,7 +24762,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdad4", 10) == 0)
{
{
-return dev_storage + 808;
+return dev_storage + 874;
}
}
@@ -25801,7 +24777,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdac4", 10) == 0)
{
{
-return dev_storage + 793;
+return dev_storage + 859;
}
}
@@ -25816,7 +24792,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdab4", 10) == 0)
{
{
-return dev_storage + 778;
+return dev_storage + 844;
}
}
@@ -25831,7 +24807,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaa4", 10) == 0)
{
{
-return dev_storage + 763;
+return dev_storage + 829;
}
}
@@ -25846,7 +24822,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda14", 10) == 0)
{
{
-return dev_storage + 357;
+return dev_storage + 423;
}
}
@@ -25870,7 +24846,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st124", 10) == 0)
{
{
-return dev_storage + 2506;
+return dev_storage + 2572;
}
}
@@ -25885,7 +24861,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st114", 10) == 0)
{
{
-return dev_storage + 2496;
+return dev_storage + 2562;
}
}
@@ -25900,7 +24876,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st104", 10) == 0)
{
{
-return dev_storage + 2486;
+return dev_storage + 2552;
}
}
@@ -25930,7 +24906,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz13", 10) == 0)
{
{
-return dev_storage + 731;
+return dev_storage + 797;
}
}
@@ -25944,11 +24920,26 @@ return NULL;
case 'y':
switch (KR_keyword [8])
{
+ case 'm':
+ if (strncmp (KR_keyword, "/dev/ptym3", 10) == 0)
+ {
+{
+return dev_storage + 306;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
case 'S':
if (strncmp (KR_keyword, "/dev/ttyS3", 10) == 0)
{
{
-return dev_storage + 2514;
+return dev_storage + 2580;
}
}
@@ -25963,7 +24954,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty63", 10) == 0)
{
{
-return dev_storage + 300;
+return dev_storage + 302;
}
}
@@ -25978,7 +24969,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty53", 10) == 0)
{
{
-return dev_storage + 290;
+return dev_storage + 292;
}
}
@@ -25993,7 +24984,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty43", 10) == 0)
{
{
-return dev_storage + 280;
+return dev_storage + 282;
}
}
@@ -26008,7 +24999,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty33", 10) == 0)
{
{
-return dev_storage + 270;
+return dev_storage + 272;
}
}
@@ -26023,7 +25014,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty23", 10) == 0)
{
{
-return dev_storage + 260;
+return dev_storage + 262;
}
}
@@ -26041,7 +25032,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy13", 10) == 0)
{
{
-return dev_storage + 716;
+return dev_storage + 782;
}
}
@@ -26056,7 +25047,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty13", 10) == 0)
{
{
-return dev_storage + 250;
+return dev_storage + 252;
}
}
@@ -26083,7 +25074,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx13", 10) == 0)
{
{
-return dev_storage + 701;
+return dev_storage + 767;
}
}
@@ -26098,7 +25089,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw13", 10) == 0)
{
{
-return dev_storage + 686;
+return dev_storage + 752;
}
}
@@ -26113,7 +25104,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv13", 10) == 0)
{
{
-return dev_storage + 671;
+return dev_storage + 737;
}
}
@@ -26128,7 +25119,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu13", 10) == 0)
{
{
-return dev_storage + 656;
+return dev_storage + 722;
}
}
@@ -26146,7 +25137,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst93", 10) == 0)
{
{
-return dev_storage + 199;
+return dev_storage + 200;
}
}
@@ -26161,7 +25152,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst83", 10) == 0)
{
{
-return dev_storage + 189;
+return dev_storage + 190;
}
}
@@ -26176,7 +25167,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst73", 10) == 0)
{
{
-return dev_storage + 179;
+return dev_storage + 180;
}
}
@@ -26191,7 +25182,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst63", 10) == 0)
{
{
-return dev_storage + 169;
+return dev_storage + 170;
}
}
@@ -26206,7 +25197,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst53", 10) == 0)
{
{
-return dev_storage + 159;
+return dev_storage + 160;
}
}
@@ -26221,7 +25212,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst43", 10) == 0)
{
{
-return dev_storage + 149;
+return dev_storage + 150;
}
}
@@ -26236,7 +25227,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst33", 10) == 0)
{
{
-return dev_storage + 139;
+return dev_storage + 140;
}
}
@@ -26251,7 +25242,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst23", 10) == 0)
{
{
-return dev_storage + 129;
+return dev_storage + 130;
}
}
@@ -26269,7 +25260,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt13", 10) == 0)
{
{
-return dev_storage + 641;
+return dev_storage + 707;
}
}
@@ -26284,7 +25275,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst13", 10) == 0)
{
{
-return dev_storage + 119;
+return dev_storage + 120;
}
}
@@ -26311,7 +25302,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds13", 10) == 0)
{
{
-return dev_storage + 626;
+return dev_storage + 692;
}
}
@@ -26326,7 +25317,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr13", 10) == 0)
{
{
-return dev_storage + 611;
+return dev_storage + 677;
}
}
@@ -26341,7 +25332,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq13", 10) == 0)
{
{
-return dev_storage + 596;
+return dev_storage + 662;
}
}
@@ -26356,7 +25347,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp13", 10) == 0)
{
{
-return dev_storage + 581;
+return dev_storage + 647;
}
}
@@ -26371,7 +25362,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo13", 10) == 0)
{
{
-return dev_storage + 566;
+return dev_storage + 632;
}
}
@@ -26389,7 +25380,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn13", 10) == 0)
{
{
-return dev_storage + 551;
+return dev_storage + 617;
}
}
@@ -26428,7 +25419,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm13", 10) == 0)
{
{
-return dev_storage + 536;
+return dev_storage + 602;
}
}
@@ -26464,7 +25455,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl13", 10) == 0)
{
{
-return dev_storage + 521;
+return dev_storage + 587;
}
}
@@ -26479,7 +25470,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk13", 10) == 0)
{
{
-return dev_storage + 506;
+return dev_storage + 572;
}
}
@@ -26494,7 +25485,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj13", 10) == 0)
{
{
-return dev_storage + 491;
+return dev_storage + 557;
}
}
@@ -26509,7 +25500,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi13", 10) == 0)
{
{
-return dev_storage + 476;
+return dev_storage + 542;
}
}
@@ -26524,7 +25515,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh13", 10) == 0)
{
{
-return dev_storage + 461;
+return dev_storage + 527;
}
}
@@ -26539,7 +25530,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg13", 10) == 0)
{
{
-return dev_storage + 446;
+return dev_storage + 512;
}
}
@@ -26554,7 +25545,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf13", 10) == 0)
{
{
-return dev_storage + 431;
+return dev_storage + 497;
}
}
@@ -26569,7 +25560,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde13", 10) == 0)
{
{
-return dev_storage + 416;
+return dev_storage + 482;
}
}
@@ -26587,7 +25578,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddx3", 10) == 0)
{
{
-return dev_storage + 2353;
+return dev_storage + 2419;
}
}
@@ -26602,7 +25593,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddw3", 10) == 0)
{
{
-return dev_storage + 2338;
+return dev_storage + 2404;
}
}
@@ -26617,7 +25608,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddv3", 10) == 0)
{
{
-return dev_storage + 2323;
+return dev_storage + 2389;
}
}
@@ -26632,7 +25623,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddu3", 10) == 0)
{
{
-return dev_storage + 2308;
+return dev_storage + 2374;
}
}
@@ -26647,7 +25638,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddt3", 10) == 0)
{
{
-return dev_storage + 2293;
+return dev_storage + 2359;
}
}
@@ -26662,7 +25653,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdds3", 10) == 0)
{
{
-return dev_storage + 2278;
+return dev_storage + 2344;
}
}
@@ -26677,7 +25668,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddr3", 10) == 0)
{
{
-return dev_storage + 2263;
+return dev_storage + 2329;
}
}
@@ -26692,7 +25683,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddq3", 10) == 0)
{
{
-return dev_storage + 2248;
+return dev_storage + 2314;
}
}
@@ -26707,7 +25698,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddp3", 10) == 0)
{
{
-return dev_storage + 2233;
+return dev_storage + 2299;
}
}
@@ -26722,7 +25713,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddo3", 10) == 0)
{
{
-return dev_storage + 2218;
+return dev_storage + 2284;
}
}
@@ -26737,7 +25728,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddn3", 10) == 0)
{
{
-return dev_storage + 2203;
+return dev_storage + 2269;
}
}
@@ -26752,7 +25743,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddm3", 10) == 0)
{
{
-return dev_storage + 2188;
+return dev_storage + 2254;
}
}
@@ -26767,7 +25758,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddl3", 10) == 0)
{
{
-return dev_storage + 2173;
+return dev_storage + 2239;
}
}
@@ -26782,7 +25773,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddk3", 10) == 0)
{
{
-return dev_storage + 2158;
+return dev_storage + 2224;
}
}
@@ -26797,7 +25788,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddj3", 10) == 0)
{
{
-return dev_storage + 2143;
+return dev_storage + 2209;
}
}
@@ -26812,7 +25803,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddi3", 10) == 0)
{
{
-return dev_storage + 2128;
+return dev_storage + 2194;
}
}
@@ -26827,7 +25818,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddh3", 10) == 0)
{
{
-return dev_storage + 2113;
+return dev_storage + 2179;
}
}
@@ -26842,7 +25833,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddg3", 10) == 0)
{
{
-return dev_storage + 2098;
+return dev_storage + 2164;
}
}
@@ -26857,7 +25848,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddf3", 10) == 0)
{
{
-return dev_storage + 2083;
+return dev_storage + 2149;
}
}
@@ -26872,7 +25863,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdde3", 10) == 0)
{
{
-return dev_storage + 2068;
+return dev_storage + 2134;
}
}
@@ -26887,7 +25878,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddd3", 10) == 0)
{
{
-return dev_storage + 2053;
+return dev_storage + 2119;
}
}
@@ -26902,7 +25893,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddc3", 10) == 0)
{
{
-return dev_storage + 2038;
+return dev_storage + 2104;
}
}
@@ -26917,7 +25908,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddb3", 10) == 0)
{
{
-return dev_storage + 2023;
+return dev_storage + 2089;
}
}
@@ -26932,7 +25923,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdda3", 10) == 0)
{
{
-return dev_storage + 2008;
+return dev_storage + 2074;
}
}
@@ -26950,7 +25941,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd13", 10) == 0)
{
{
-return dev_storage + 401;
+return dev_storage + 467;
}
}
@@ -26965,7 +25956,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd13", 10) == 0)
{
{
-return dev_storage + 315;
+return dev_storage + 381;
}
}
@@ -26995,7 +25986,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcz3", 10) == 0)
{
{
-return dev_storage + 1969;
+return dev_storage + 2035;
}
}
@@ -27010,7 +26001,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcy3", 10) == 0)
{
{
-return dev_storage + 1954;
+return dev_storage + 2020;
}
}
@@ -27025,7 +26016,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcx3", 10) == 0)
{
{
-return dev_storage + 1939;
+return dev_storage + 2005;
}
}
@@ -27040,7 +26031,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcw3", 10) == 0)
{
{
-return dev_storage + 1924;
+return dev_storage + 1990;
}
}
@@ -27055,7 +26046,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcv3", 10) == 0)
{
{
-return dev_storage + 1909;
+return dev_storage + 1975;
}
}
@@ -27070,7 +26061,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcu3", 10) == 0)
{
{
-return dev_storage + 1894;
+return dev_storage + 1960;
}
}
@@ -27085,7 +26076,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdct3", 10) == 0)
{
{
-return dev_storage + 1879;
+return dev_storage + 1945;
}
}
@@ -27100,7 +26091,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcs3", 10) == 0)
{
{
-return dev_storage + 1864;
+return dev_storage + 1930;
}
}
@@ -27115,7 +26106,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcr3", 10) == 0)
{
{
-return dev_storage + 1849;
+return dev_storage + 1915;
}
}
@@ -27130,7 +26121,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcq3", 10) == 0)
{
{
-return dev_storage + 1834;
+return dev_storage + 1900;
}
}
@@ -27145,7 +26136,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcp3", 10) == 0)
{
{
-return dev_storage + 1819;
+return dev_storage + 1885;
}
}
@@ -27160,7 +26151,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdco3", 10) == 0)
{
{
-return dev_storage + 1804;
+return dev_storage + 1870;
}
}
@@ -27175,7 +26166,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcn3", 10) == 0)
{
{
-return dev_storage + 1789;
+return dev_storage + 1855;
}
}
@@ -27190,7 +26181,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcm3", 10) == 0)
{
{
-return dev_storage + 1774;
+return dev_storage + 1840;
}
}
@@ -27205,7 +26196,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcl3", 10) == 0)
{
{
-return dev_storage + 1759;
+return dev_storage + 1825;
}
}
@@ -27220,7 +26211,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdck3", 10) == 0)
{
{
-return dev_storage + 1744;
+return dev_storage + 1810;
}
}
@@ -27235,7 +26226,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcj3", 10) == 0)
{
{
-return dev_storage + 1729;
+return dev_storage + 1795;
}
}
@@ -27250,7 +26241,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdci3", 10) == 0)
{
{
-return dev_storage + 1714;
+return dev_storage + 1780;
}
}
@@ -27265,7 +26256,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdch3", 10) == 0)
{
{
-return dev_storage + 1699;
+return dev_storage + 1765;
}
}
@@ -27280,7 +26271,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcg3", 10) == 0)
{
{
-return dev_storage + 1684;
+return dev_storage + 1750;
}
}
@@ -27295,7 +26286,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcf3", 10) == 0)
{
{
-return dev_storage + 1669;
+return dev_storage + 1735;
}
}
@@ -27310,7 +26301,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdce3", 10) == 0)
{
{
-return dev_storage + 1654;
+return dev_storage + 1720;
}
}
@@ -27325,7 +26316,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcd3", 10) == 0)
{
{
-return dev_storage + 1639;
+return dev_storage + 1705;
}
}
@@ -27340,7 +26331,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcc3", 10) == 0)
{
{
-return dev_storage + 1624;
+return dev_storage + 1690;
}
}
@@ -27355,7 +26346,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcb3", 10) == 0)
{
{
-return dev_storage + 1609;
+return dev_storage + 1675;
}
}
@@ -27370,7 +26361,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdca3", 10) == 0)
{
{
-return dev_storage + 1594;
+return dev_storage + 1660;
}
}
@@ -27385,7 +26376,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc13", 10) == 0)
{
{
-return dev_storage + 386;
+return dev_storage + 452;
}
}
@@ -27409,7 +26400,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbz3", 10) == 0)
{
{
-return dev_storage + 1553;
+return dev_storage + 1619;
}
}
@@ -27424,7 +26415,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdby3", 10) == 0)
{
{
-return dev_storage + 1538;
+return dev_storage + 1604;
}
}
@@ -27439,7 +26430,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbx3", 10) == 0)
{
{
-return dev_storage + 1523;
+return dev_storage + 1589;
}
}
@@ -27454,7 +26445,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbw3", 10) == 0)
{
{
-return dev_storage + 1508;
+return dev_storage + 1574;
}
}
@@ -27469,7 +26460,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbv3", 10) == 0)
{
{
-return dev_storage + 1493;
+return dev_storage + 1559;
}
}
@@ -27484,7 +26475,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbu3", 10) == 0)
{
{
-return dev_storage + 1478;
+return dev_storage + 1544;
}
}
@@ -27499,7 +26490,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbt3", 10) == 0)
{
{
-return dev_storage + 1463;
+return dev_storage + 1529;
}
}
@@ -27514,7 +26505,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbs3", 10) == 0)
{
{
-return dev_storage + 1448;
+return dev_storage + 1514;
}
}
@@ -27529,7 +26520,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbr3", 10) == 0)
{
{
-return dev_storage + 1433;
+return dev_storage + 1499;
}
}
@@ -27544,7 +26535,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbq3", 10) == 0)
{
{
-return dev_storage + 1418;
+return dev_storage + 1484;
}
}
@@ -27559,7 +26550,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbp3", 10) == 0)
{
{
-return dev_storage + 1403;
+return dev_storage + 1469;
}
}
@@ -27574,7 +26565,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbo3", 10) == 0)
{
{
-return dev_storage + 1388;
+return dev_storage + 1454;
}
}
@@ -27589,7 +26580,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbn3", 10) == 0)
{
{
-return dev_storage + 1373;
+return dev_storage + 1439;
}
}
@@ -27604,7 +26595,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbm3", 10) == 0)
{
{
-return dev_storage + 1358;
+return dev_storage + 1424;
}
}
@@ -27619,7 +26610,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbl3", 10) == 0)
{
{
-return dev_storage + 1343;
+return dev_storage + 1409;
}
}
@@ -27634,7 +26625,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbk3", 10) == 0)
{
{
-return dev_storage + 1328;
+return dev_storage + 1394;
}
}
@@ -27649,7 +26640,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbj3", 10) == 0)
{
{
-return dev_storage + 1313;
+return dev_storage + 1379;
}
}
@@ -27664,7 +26655,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbi3", 10) == 0)
{
{
-return dev_storage + 1298;
+return dev_storage + 1364;
}
}
@@ -27679,7 +26670,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbh3", 10) == 0)
{
{
-return dev_storage + 1283;
+return dev_storage + 1349;
}
}
@@ -27694,7 +26685,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbg3", 10) == 0)
{
{
-return dev_storage + 1268;
+return dev_storage + 1334;
}
}
@@ -27709,7 +26700,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbf3", 10) == 0)
{
{
-return dev_storage + 1253;
+return dev_storage + 1319;
}
}
@@ -27724,7 +26715,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbe3", 10) == 0)
{
{
-return dev_storage + 1238;
+return dev_storage + 1304;
}
}
@@ -27739,7 +26730,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbd3", 10) == 0)
{
{
-return dev_storage + 1223;
+return dev_storage + 1289;
}
}
@@ -27754,7 +26745,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbc3", 10) == 0)
{
{
-return dev_storage + 1208;
+return dev_storage + 1274;
}
}
@@ -27769,7 +26760,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbb3", 10) == 0)
{
{
-return dev_storage + 1193;
+return dev_storage + 1259;
}
}
@@ -27784,7 +26775,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdba3", 10) == 0)
{
{
-return dev_storage + 1178;
+return dev_storage + 1244;
}
}
@@ -27799,7 +26790,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb13", 10) == 0)
{
{
-return dev_storage + 371;
+return dev_storage + 437;
}
}
@@ -27823,7 +26814,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaz3", 10) == 0)
{
{
-return dev_storage + 1137;
+return dev_storage + 1203;
}
}
@@ -27838,7 +26829,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sday3", 10) == 0)
{
{
-return dev_storage + 1122;
+return dev_storage + 1188;
}
}
@@ -27853,7 +26844,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdax3", 10) == 0)
{
{
-return dev_storage + 1107;
+return dev_storage + 1173;
}
}
@@ -27868,7 +26859,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaw3", 10) == 0)
{
{
-return dev_storage + 1092;
+return dev_storage + 1158;
}
}
@@ -27883,7 +26874,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdav3", 10) == 0)
{
{
-return dev_storage + 1077;
+return dev_storage + 1143;
}
}
@@ -27898,7 +26889,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdau3", 10) == 0)
{
{
-return dev_storage + 1062;
+return dev_storage + 1128;
}
}
@@ -27913,7 +26904,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdat3", 10) == 0)
{
{
-return dev_storage + 1047;
+return dev_storage + 1113;
}
}
@@ -27928,7 +26919,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdas3", 10) == 0)
{
{
-return dev_storage + 1032;
+return dev_storage + 1098;
}
}
@@ -27943,7 +26934,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdar3", 10) == 0)
{
{
-return dev_storage + 1017;
+return dev_storage + 1083;
}
}
@@ -27958,7 +26949,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaq3", 10) == 0)
{
{
-return dev_storage + 1002;
+return dev_storage + 1068;
}
}
@@ -27973,7 +26964,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdap3", 10) == 0)
{
{
-return dev_storage + 987;
+return dev_storage + 1053;
}
}
@@ -27988,7 +26979,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdao3", 10) == 0)
{
{
-return dev_storage + 972;
+return dev_storage + 1038;
}
}
@@ -28003,7 +26994,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdan3", 10) == 0)
{
{
-return dev_storage + 957;
+return dev_storage + 1023;
}
}
@@ -28018,7 +27009,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdam3", 10) == 0)
{
{
-return dev_storage + 942;
+return dev_storage + 1008;
}
}
@@ -28033,7 +27024,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdal3", 10) == 0)
{
{
-return dev_storage + 927;
+return dev_storage + 993;
}
}
@@ -28048,7 +27039,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdak3", 10) == 0)
{
{
-return dev_storage + 912;
+return dev_storage + 978;
}
}
@@ -28063,7 +27054,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaj3", 10) == 0)
{
{
-return dev_storage + 897;
+return dev_storage + 963;
}
}
@@ -28078,7 +27069,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdai3", 10) == 0)
{
{
-return dev_storage + 882;
+return dev_storage + 948;
}
}
@@ -28093,7 +27084,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdah3", 10) == 0)
{
{
-return dev_storage + 867;
+return dev_storage + 933;
}
}
@@ -28108,7 +27099,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdag3", 10) == 0)
{
{
-return dev_storage + 852;
+return dev_storage + 918;
}
}
@@ -28123,7 +27114,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaf3", 10) == 0)
{
{
-return dev_storage + 837;
+return dev_storage + 903;
}
}
@@ -28138,7 +27129,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdae3", 10) == 0)
{
{
-return dev_storage + 822;
+return dev_storage + 888;
}
}
@@ -28153,7 +27144,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdad3", 10) == 0)
{
{
-return dev_storage + 807;
+return dev_storage + 873;
}
}
@@ -28168,7 +27159,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdac3", 10) == 0)
{
{
-return dev_storage + 792;
+return dev_storage + 858;
}
}
@@ -28183,7 +27174,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdab3", 10) == 0)
{
{
-return dev_storage + 777;
+return dev_storage + 843;
}
}
@@ -28198,7 +27189,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaa3", 10) == 0)
{
{
-return dev_storage + 762;
+return dev_storage + 828;
}
}
@@ -28213,7 +27204,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda13", 10) == 0)
{
{
-return dev_storage + 356;
+return dev_storage + 422;
}
}
@@ -28237,7 +27228,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st123", 10) == 0)
{
{
-return dev_storage + 2505;
+return dev_storage + 2571;
}
}
@@ -28252,7 +27243,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st113", 10) == 0)
{
{
-return dev_storage + 2495;
+return dev_storage + 2561;
}
}
@@ -28267,7 +27258,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st103", 10) == 0)
{
{
-return dev_storage + 2485;
+return dev_storage + 2551;
}
}
@@ -28297,7 +27288,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz12", 10) == 0)
{
{
-return dev_storage + 730;
+return dev_storage + 796;
}
}
@@ -28311,11 +27302,26 @@ return NULL;
case 'y':
switch (KR_keyword [8])
{
+ case 'm':
+ if (strncmp (KR_keyword, "/dev/ptym2", 10) == 0)
+ {
+{
+return dev_storage + 305;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
case 'S':
if (strncmp (KR_keyword, "/dev/ttyS2", 10) == 0)
{
{
-return dev_storage + 2513;
+return dev_storage + 2579;
}
}
@@ -28330,7 +27336,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty62", 10) == 0)
{
{
-return dev_storage + 299;
+return dev_storage + 301;
}
}
@@ -28345,7 +27351,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty52", 10) == 0)
{
{
-return dev_storage + 289;
+return dev_storage + 291;
}
}
@@ -28360,7 +27366,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty42", 10) == 0)
{
{
-return dev_storage + 279;
+return dev_storage + 281;
}
}
@@ -28375,7 +27381,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty32", 10) == 0)
{
{
-return dev_storage + 269;
+return dev_storage + 271;
}
}
@@ -28390,7 +27396,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty22", 10) == 0)
{
{
-return dev_storage + 259;
+return dev_storage + 261;
}
}
@@ -28408,7 +27414,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy12", 10) == 0)
{
{
-return dev_storage + 715;
+return dev_storage + 781;
}
}
@@ -28423,7 +27429,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty12", 10) == 0)
{
{
-return dev_storage + 249;
+return dev_storage + 251;
}
}
@@ -28450,7 +27456,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx12", 10) == 0)
{
{
-return dev_storage + 700;
+return dev_storage + 766;
}
}
@@ -28465,7 +27471,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw12", 10) == 0)
{
{
-return dev_storage + 685;
+return dev_storage + 751;
}
}
@@ -28480,7 +27486,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv12", 10) == 0)
{
{
-return dev_storage + 670;
+return dev_storage + 736;
}
}
@@ -28495,7 +27501,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu12", 10) == 0)
{
{
-return dev_storage + 655;
+return dev_storage + 721;
}
}
@@ -28513,7 +27519,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst92", 10) == 0)
{
{
-return dev_storage + 198;
+return dev_storage + 199;
}
}
@@ -28528,7 +27534,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst82", 10) == 0)
{
{
-return dev_storage + 188;
+return dev_storage + 189;
}
}
@@ -28543,7 +27549,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst72", 10) == 0)
{
{
-return dev_storage + 178;
+return dev_storage + 179;
}
}
@@ -28558,7 +27564,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst62", 10) == 0)
{
{
-return dev_storage + 168;
+return dev_storage + 169;
}
}
@@ -28573,7 +27579,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst52", 10) == 0)
{
{
-return dev_storage + 158;
+return dev_storage + 159;
}
}
@@ -28588,7 +27594,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst42", 10) == 0)
{
{
-return dev_storage + 148;
+return dev_storage + 149;
}
}
@@ -28603,7 +27609,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst32", 10) == 0)
{
{
-return dev_storage + 138;
+return dev_storage + 139;
}
}
@@ -28618,7 +27624,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst22", 10) == 0)
{
{
-return dev_storage + 128;
+return dev_storage + 129;
}
}
@@ -28636,7 +27642,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt12", 10) == 0)
{
{
-return dev_storage + 640;
+return dev_storage + 706;
}
}
@@ -28651,7 +27657,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst12", 10) == 0)
{
{
-return dev_storage + 118;
+return dev_storage + 119;
}
}
@@ -28678,7 +27684,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds12", 10) == 0)
{
{
-return dev_storage + 625;
+return dev_storage + 691;
}
}
@@ -28693,7 +27699,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr12", 10) == 0)
{
{
-return dev_storage + 610;
+return dev_storage + 676;
}
}
@@ -28708,7 +27714,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq12", 10) == 0)
{
{
-return dev_storage + 595;
+return dev_storage + 661;
}
}
@@ -28723,7 +27729,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp12", 10) == 0)
{
{
-return dev_storage + 580;
+return dev_storage + 646;
}
}
@@ -28738,7 +27744,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo12", 10) == 0)
{
{
-return dev_storage + 565;
+return dev_storage + 631;
}
}
@@ -28756,7 +27762,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn12", 10) == 0)
{
{
-return dev_storage + 550;
+return dev_storage + 616;
}
}
@@ -28795,7 +27801,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm12", 10) == 0)
{
{
-return dev_storage + 535;
+return dev_storage + 601;
}
}
@@ -28831,7 +27837,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl12", 10) == 0)
{
{
-return dev_storage + 520;
+return dev_storage + 586;
}
}
@@ -28846,7 +27852,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk12", 10) == 0)
{
{
-return dev_storage + 505;
+return dev_storage + 571;
}
}
@@ -28861,7 +27867,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj12", 10) == 0)
{
{
-return dev_storage + 490;
+return dev_storage + 556;
}
}
@@ -28876,7 +27882,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi12", 10) == 0)
{
{
-return dev_storage + 475;
+return dev_storage + 541;
}
}
@@ -28891,7 +27897,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh12", 10) == 0)
{
{
-return dev_storage + 460;
+return dev_storage + 526;
}
}
@@ -28906,7 +27912,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg12", 10) == 0)
{
{
-return dev_storage + 445;
+return dev_storage + 511;
}
}
@@ -28921,7 +27927,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf12", 10) == 0)
{
{
-return dev_storage + 430;
+return dev_storage + 496;
}
}
@@ -28936,7 +27942,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde12", 10) == 0)
{
{
-return dev_storage + 415;
+return dev_storage + 481;
}
}
@@ -28954,7 +27960,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddx2", 10) == 0)
{
{
-return dev_storage + 2352;
+return dev_storage + 2418;
}
}
@@ -28969,7 +27975,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddw2", 10) == 0)
{
{
-return dev_storage + 2337;
+return dev_storage + 2403;
}
}
@@ -28984,7 +27990,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddv2", 10) == 0)
{
{
-return dev_storage + 2322;
+return dev_storage + 2388;
}
}
@@ -28999,7 +28005,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddu2", 10) == 0)
{
{
-return dev_storage + 2307;
+return dev_storage + 2373;
}
}
@@ -29014,7 +28020,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddt2", 10) == 0)
{
{
-return dev_storage + 2292;
+return dev_storage + 2358;
}
}
@@ -29029,7 +28035,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdds2", 10) == 0)
{
{
-return dev_storage + 2277;
+return dev_storage + 2343;
}
}
@@ -29044,7 +28050,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddr2", 10) == 0)
{
{
-return dev_storage + 2262;
+return dev_storage + 2328;
}
}
@@ -29059,7 +28065,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddq2", 10) == 0)
{
{
-return dev_storage + 2247;
+return dev_storage + 2313;
}
}
@@ -29074,7 +28080,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddp2", 10) == 0)
{
{
-return dev_storage + 2232;
+return dev_storage + 2298;
}
}
@@ -29089,7 +28095,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddo2", 10) == 0)
{
{
-return dev_storage + 2217;
+return dev_storage + 2283;
}
}
@@ -29104,7 +28110,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddn2", 10) == 0)
{
{
-return dev_storage + 2202;
+return dev_storage + 2268;
}
}
@@ -29119,7 +28125,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddm2", 10) == 0)
{
{
-return dev_storage + 2187;
+return dev_storage + 2253;
}
}
@@ -29134,7 +28140,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddl2", 10) == 0)
{
{
-return dev_storage + 2172;
+return dev_storage + 2238;
}
}
@@ -29149,7 +28155,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddk2", 10) == 0)
{
{
-return dev_storage + 2157;
+return dev_storage + 2223;
}
}
@@ -29164,7 +28170,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddj2", 10) == 0)
{
{
-return dev_storage + 2142;
+return dev_storage + 2208;
}
}
@@ -29179,7 +28185,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddi2", 10) == 0)
{
{
-return dev_storage + 2127;
+return dev_storage + 2193;
}
}
@@ -29194,7 +28200,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddh2", 10) == 0)
{
{
-return dev_storage + 2112;
+return dev_storage + 2178;
}
}
@@ -29209,7 +28215,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddg2", 10) == 0)
{
{
-return dev_storage + 2097;
+return dev_storage + 2163;
}
}
@@ -29224,7 +28230,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddf2", 10) == 0)
{
{
-return dev_storage + 2082;
+return dev_storage + 2148;
}
}
@@ -29239,7 +28245,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdde2", 10) == 0)
{
{
-return dev_storage + 2067;
+return dev_storage + 2133;
}
}
@@ -29254,7 +28260,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddd2", 10) == 0)
{
{
-return dev_storage + 2052;
+return dev_storage + 2118;
}
}
@@ -29269,7 +28275,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddc2", 10) == 0)
{
{
-return dev_storage + 2037;
+return dev_storage + 2103;
}
}
@@ -29284,7 +28290,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddb2", 10) == 0)
{
{
-return dev_storage + 2022;
+return dev_storage + 2088;
}
}
@@ -29299,7 +28305,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdda2", 10) == 0)
{
{
-return dev_storage + 2007;
+return dev_storage + 2073;
}
}
@@ -29317,7 +28323,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd12", 10) == 0)
{
{
-return dev_storage + 400;
+return dev_storage + 466;
}
}
@@ -29332,7 +28338,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd12", 10) == 0)
{
{
-return dev_storage + 314;
+return dev_storage + 380;
}
}
@@ -29362,7 +28368,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcz2", 10) == 0)
{
{
-return dev_storage + 1968;
+return dev_storage + 2034;
}
}
@@ -29377,7 +28383,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcy2", 10) == 0)
{
{
-return dev_storage + 1953;
+return dev_storage + 2019;
}
}
@@ -29392,7 +28398,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcx2", 10) == 0)
{
{
-return dev_storage + 1938;
+return dev_storage + 2004;
}
}
@@ -29407,7 +28413,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcw2", 10) == 0)
{
{
-return dev_storage + 1923;
+return dev_storage + 1989;
}
}
@@ -29422,7 +28428,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcv2", 10) == 0)
{
{
-return dev_storage + 1908;
+return dev_storage + 1974;
}
}
@@ -29437,7 +28443,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcu2", 10) == 0)
{
{
-return dev_storage + 1893;
+return dev_storage + 1959;
}
}
@@ -29452,7 +28458,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdct2", 10) == 0)
{
{
-return dev_storage + 1878;
+return dev_storage + 1944;
}
}
@@ -29467,7 +28473,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcs2", 10) == 0)
{
{
-return dev_storage + 1863;
+return dev_storage + 1929;
}
}
@@ -29482,7 +28488,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcr2", 10) == 0)
{
{
-return dev_storage + 1848;
+return dev_storage + 1914;
}
}
@@ -29497,7 +28503,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcq2", 10) == 0)
{
{
-return dev_storage + 1833;
+return dev_storage + 1899;
}
}
@@ -29512,7 +28518,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcp2", 10) == 0)
{
{
-return dev_storage + 1818;
+return dev_storage + 1884;
}
}
@@ -29527,7 +28533,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdco2", 10) == 0)
{
{
-return dev_storage + 1803;
+return dev_storage + 1869;
}
}
@@ -29542,7 +28548,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcn2", 10) == 0)
{
{
-return dev_storage + 1788;
+return dev_storage + 1854;
}
}
@@ -29557,7 +28563,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcm2", 10) == 0)
{
{
-return dev_storage + 1773;
+return dev_storage + 1839;
}
}
@@ -29572,7 +28578,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcl2", 10) == 0)
{
{
-return dev_storage + 1758;
+return dev_storage + 1824;
}
}
@@ -29587,7 +28593,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdck2", 10) == 0)
{
{
-return dev_storage + 1743;
+return dev_storage + 1809;
}
}
@@ -29602,7 +28608,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcj2", 10) == 0)
{
{
-return dev_storage + 1728;
+return dev_storage + 1794;
}
}
@@ -29617,7 +28623,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdci2", 10) == 0)
{
{
-return dev_storage + 1713;
+return dev_storage + 1779;
}
}
@@ -29632,7 +28638,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdch2", 10) == 0)
{
{
-return dev_storage + 1698;
+return dev_storage + 1764;
}
}
@@ -29647,7 +28653,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcg2", 10) == 0)
{
{
-return dev_storage + 1683;
+return dev_storage + 1749;
}
}
@@ -29662,7 +28668,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcf2", 10) == 0)
{
{
-return dev_storage + 1668;
+return dev_storage + 1734;
}
}
@@ -29677,7 +28683,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdce2", 10) == 0)
{
{
-return dev_storage + 1653;
+return dev_storage + 1719;
}
}
@@ -29692,7 +28698,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcd2", 10) == 0)
{
{
-return dev_storage + 1638;
+return dev_storage + 1704;
}
}
@@ -29707,7 +28713,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcc2", 10) == 0)
{
{
-return dev_storage + 1623;
+return dev_storage + 1689;
}
}
@@ -29722,7 +28728,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcb2", 10) == 0)
{
{
-return dev_storage + 1608;
+return dev_storage + 1674;
}
}
@@ -29737,7 +28743,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdca2", 10) == 0)
{
{
-return dev_storage + 1593;
+return dev_storage + 1659;
}
}
@@ -29752,7 +28758,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc12", 10) == 0)
{
{
-return dev_storage + 385;
+return dev_storage + 451;
}
}
@@ -29776,7 +28782,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbz2", 10) == 0)
{
{
-return dev_storage + 1552;
+return dev_storage + 1618;
}
}
@@ -29791,7 +28797,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdby2", 10) == 0)
{
{
-return dev_storage + 1537;
+return dev_storage + 1603;
}
}
@@ -29806,7 +28812,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbx2", 10) == 0)
{
{
-return dev_storage + 1522;
+return dev_storage + 1588;
}
}
@@ -29821,7 +28827,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbw2", 10) == 0)
{
{
-return dev_storage + 1507;
+return dev_storage + 1573;
}
}
@@ -29836,7 +28842,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbv2", 10) == 0)
{
{
-return dev_storage + 1492;
+return dev_storage + 1558;
}
}
@@ -29851,7 +28857,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbu2", 10) == 0)
{
{
-return dev_storage + 1477;
+return dev_storage + 1543;
}
}
@@ -29866,7 +28872,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbt2", 10) == 0)
{
{
-return dev_storage + 1462;
+return dev_storage + 1528;
}
}
@@ -29881,7 +28887,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbs2", 10) == 0)
{
{
-return dev_storage + 1447;
+return dev_storage + 1513;
}
}
@@ -29896,7 +28902,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbr2", 10) == 0)
{
{
-return dev_storage + 1432;
+return dev_storage + 1498;
}
}
@@ -29911,7 +28917,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbq2", 10) == 0)
{
{
-return dev_storage + 1417;
+return dev_storage + 1483;
}
}
@@ -29926,7 +28932,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbp2", 10) == 0)
{
{
-return dev_storage + 1402;
+return dev_storage + 1468;
}
}
@@ -29941,7 +28947,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbo2", 10) == 0)
{
{
-return dev_storage + 1387;
+return dev_storage + 1453;
}
}
@@ -29956,7 +28962,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbn2", 10) == 0)
{
{
-return dev_storage + 1372;
+return dev_storage + 1438;
}
}
@@ -29971,7 +28977,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbm2", 10) == 0)
{
{
-return dev_storage + 1357;
+return dev_storage + 1423;
}
}
@@ -29986,7 +28992,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbl2", 10) == 0)
{
{
-return dev_storage + 1342;
+return dev_storage + 1408;
}
}
@@ -30001,7 +29007,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbk2", 10) == 0)
{
{
-return dev_storage + 1327;
+return dev_storage + 1393;
}
}
@@ -30016,7 +29022,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbj2", 10) == 0)
{
{
-return dev_storage + 1312;
+return dev_storage + 1378;
}
}
@@ -30031,7 +29037,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbi2", 10) == 0)
{
{
-return dev_storage + 1297;
+return dev_storage + 1363;
}
}
@@ -30046,7 +29052,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbh2", 10) == 0)
{
{
-return dev_storage + 1282;
+return dev_storage + 1348;
}
}
@@ -30061,7 +29067,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbg2", 10) == 0)
{
{
-return dev_storage + 1267;
+return dev_storage + 1333;
}
}
@@ -30076,7 +29082,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbf2", 10) == 0)
{
{
-return dev_storage + 1252;
+return dev_storage + 1318;
}
}
@@ -30091,7 +29097,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbe2", 10) == 0)
{
{
-return dev_storage + 1237;
+return dev_storage + 1303;
}
}
@@ -30106,7 +29112,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbd2", 10) == 0)
{
{
-return dev_storage + 1222;
+return dev_storage + 1288;
}
}
@@ -30121,7 +29127,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbc2", 10) == 0)
{
{
-return dev_storage + 1207;
+return dev_storage + 1273;
}
}
@@ -30136,7 +29142,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbb2", 10) == 0)
{
{
-return dev_storage + 1192;
+return dev_storage + 1258;
}
}
@@ -30151,7 +29157,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdba2", 10) == 0)
{
{
-return dev_storage + 1177;
+return dev_storage + 1243;
}
}
@@ -30166,7 +29172,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb12", 10) == 0)
{
{
-return dev_storage + 370;
+return dev_storage + 436;
}
}
@@ -30190,7 +29196,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaz2", 10) == 0)
{
{
-return dev_storage + 1136;
+return dev_storage + 1202;
}
}
@@ -30205,7 +29211,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sday2", 10) == 0)
{
{
-return dev_storage + 1121;
+return dev_storage + 1187;
}
}
@@ -30220,7 +29226,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdax2", 10) == 0)
{
{
-return dev_storage + 1106;
+return dev_storage + 1172;
}
}
@@ -30235,7 +29241,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaw2", 10) == 0)
{
{
-return dev_storage + 1091;
+return dev_storage + 1157;
}
}
@@ -30250,7 +29256,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdav2", 10) == 0)
{
{
-return dev_storage + 1076;
+return dev_storage + 1142;
}
}
@@ -30265,7 +29271,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdau2", 10) == 0)
{
{
-return dev_storage + 1061;
+return dev_storage + 1127;
}
}
@@ -30280,7 +29286,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdat2", 10) == 0)
{
{
-return dev_storage + 1046;
+return dev_storage + 1112;
}
}
@@ -30295,7 +29301,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdas2", 10) == 0)
{
{
-return dev_storage + 1031;
+return dev_storage + 1097;
}
}
@@ -30310,7 +29316,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdar2", 10) == 0)
{
{
-return dev_storage + 1016;
+return dev_storage + 1082;
}
}
@@ -30325,7 +29331,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaq2", 10) == 0)
{
{
-return dev_storage + 1001;
+return dev_storage + 1067;
}
}
@@ -30340,7 +29346,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdap2", 10) == 0)
{
{
-return dev_storage + 986;
+return dev_storage + 1052;
}
}
@@ -30355,7 +29361,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdao2", 10) == 0)
{
{
-return dev_storage + 971;
+return dev_storage + 1037;
}
}
@@ -30370,7 +29376,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdan2", 10) == 0)
{
{
-return dev_storage + 956;
+return dev_storage + 1022;
}
}
@@ -30385,7 +29391,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdam2", 10) == 0)
{
{
-return dev_storage + 941;
+return dev_storage + 1007;
}
}
@@ -30400,7 +29406,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdal2", 10) == 0)
{
{
-return dev_storage + 926;
+return dev_storage + 992;
}
}
@@ -30415,7 +29421,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdak2", 10) == 0)
{
{
-return dev_storage + 911;
+return dev_storage + 977;
}
}
@@ -30430,7 +29436,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaj2", 10) == 0)
{
{
-return dev_storage + 896;
+return dev_storage + 962;
}
}
@@ -30445,7 +29451,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdai2", 10) == 0)
{
{
-return dev_storage + 881;
+return dev_storage + 947;
}
}
@@ -30460,7 +29466,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdah2", 10) == 0)
{
{
-return dev_storage + 866;
+return dev_storage + 932;
}
}
@@ -30475,7 +29481,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdag2", 10) == 0)
{
{
-return dev_storage + 851;
+return dev_storage + 917;
}
}
@@ -30490,7 +29496,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaf2", 10) == 0)
{
{
-return dev_storage + 836;
+return dev_storage + 902;
}
}
@@ -30505,7 +29511,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdae2", 10) == 0)
{
{
-return dev_storage + 821;
+return dev_storage + 887;
}
}
@@ -30520,7 +29526,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdad2", 10) == 0)
{
{
-return dev_storage + 806;
+return dev_storage + 872;
}
}
@@ -30535,7 +29541,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdac2", 10) == 0)
{
{
-return dev_storage + 791;
+return dev_storage + 857;
}
}
@@ -30550,7 +29556,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdab2", 10) == 0)
{
{
-return dev_storage + 776;
+return dev_storage + 842;
}
}
@@ -30565,7 +29571,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaa2", 10) == 0)
{
{
-return dev_storage + 761;
+return dev_storage + 827;
}
}
@@ -30580,7 +29586,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda12", 10) == 0)
{
{
-return dev_storage + 355;
+return dev_storage + 421;
}
}
@@ -30604,7 +29610,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st122", 10) == 0)
{
{
-return dev_storage + 2504;
+return dev_storage + 2570;
}
}
@@ -30619,7 +29625,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st112", 10) == 0)
{
{
-return dev_storage + 2494;
+return dev_storage + 2560;
}
}
@@ -30634,7 +29640,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st102", 10) == 0)
{
{
-return dev_storage + 2484;
+return dev_storage + 2550;
}
}
@@ -30664,7 +29670,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz11", 10) == 0)
{
{
-return dev_storage + 729;
+return dev_storage + 795;
}
}
@@ -30678,11 +29684,26 @@ return NULL;
case 'y':
switch (KR_keyword [8])
{
+ case 'm':
+ if (strncmp (KR_keyword, "/dev/ptym1", 10) == 0)
+ {
+{
+return dev_storage + 304;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
case 'S':
if (strncmp (KR_keyword, "/dev/ttyS1", 10) == 0)
{
{
-return dev_storage + 2512;
+return dev_storage + 2578;
}
}
@@ -30697,7 +29718,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty61", 10) == 0)
{
{
-return dev_storage + 298;
+return dev_storage + 300;
}
}
@@ -30712,7 +29733,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty51", 10) == 0)
{
{
-return dev_storage + 288;
+return dev_storage + 290;
}
}
@@ -30727,7 +29748,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty41", 10) == 0)
{
{
-return dev_storage + 278;
+return dev_storage + 280;
}
}
@@ -30742,7 +29763,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty31", 10) == 0)
{
{
-return dev_storage + 268;
+return dev_storage + 270;
}
}
@@ -30757,7 +29778,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty21", 10) == 0)
{
{
-return dev_storage + 258;
+return dev_storage + 260;
}
}
@@ -30775,7 +29796,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy11", 10) == 0)
{
{
-return dev_storage + 714;
+return dev_storage + 780;
}
}
@@ -30790,7 +29811,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty11", 10) == 0)
{
{
-return dev_storage + 248;
+return dev_storage + 250;
}
}
@@ -30817,7 +29838,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx11", 10) == 0)
{
{
-return dev_storage + 699;
+return dev_storage + 765;
}
}
@@ -30832,7 +29853,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw11", 10) == 0)
{
{
-return dev_storage + 684;
+return dev_storage + 750;
}
}
@@ -30847,7 +29868,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv11", 10) == 0)
{
{
-return dev_storage + 669;
+return dev_storage + 735;
}
}
@@ -30862,7 +29883,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu11", 10) == 0)
{
{
-return dev_storage + 654;
+return dev_storage + 720;
}
}
@@ -30880,7 +29901,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst91", 10) == 0)
{
{
-return dev_storage + 197;
+return dev_storage + 198;
}
}
@@ -30895,7 +29916,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst81", 10) == 0)
{
{
-return dev_storage + 187;
+return dev_storage + 188;
}
}
@@ -30910,7 +29931,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst71", 10) == 0)
{
{
-return dev_storage + 177;
+return dev_storage + 178;
}
}
@@ -30925,7 +29946,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst61", 10) == 0)
{
{
-return dev_storage + 167;
+return dev_storage + 168;
}
}
@@ -30940,7 +29961,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst51", 10) == 0)
{
{
-return dev_storage + 157;
+return dev_storage + 158;
}
}
@@ -30955,7 +29976,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst41", 10) == 0)
{
{
-return dev_storage + 147;
+return dev_storage + 148;
}
}
@@ -30970,7 +29991,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst31", 10) == 0)
{
{
-return dev_storage + 137;
+return dev_storage + 138;
}
}
@@ -30985,7 +30006,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst21", 10) == 0)
{
{
-return dev_storage + 127;
+return dev_storage + 128;
}
}
@@ -31003,7 +30024,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt11", 10) == 0)
{
{
-return dev_storage + 639;
+return dev_storage + 705;
}
}
@@ -31018,7 +30039,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst11", 10) == 0)
{
{
-return dev_storage + 117;
+return dev_storage + 118;
}
}
@@ -31045,7 +30066,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds11", 10) == 0)
{
{
-return dev_storage + 624;
+return dev_storage + 690;
}
}
@@ -31060,7 +30081,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr11", 10) == 0)
{
{
-return dev_storage + 609;
+return dev_storage + 675;
}
}
@@ -31075,7 +30096,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq11", 10) == 0)
{
{
-return dev_storage + 594;
+return dev_storage + 660;
}
}
@@ -31090,7 +30111,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp11", 10) == 0)
{
{
-return dev_storage + 579;
+return dev_storage + 645;
}
}
@@ -31105,7 +30126,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo11", 10) == 0)
{
{
-return dev_storage + 564;
+return dev_storage + 630;
}
}
@@ -31123,7 +30144,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn11", 10) == 0)
{
{
-return dev_storage + 549;
+return dev_storage + 615;
}
}
@@ -31162,7 +30183,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm11", 10) == 0)
{
{
-return dev_storage + 534;
+return dev_storage + 600;
}
}
@@ -31198,7 +30219,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl11", 10) == 0)
{
{
-return dev_storage + 519;
+return dev_storage + 585;
}
}
@@ -31213,7 +30234,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk11", 10) == 0)
{
{
-return dev_storage + 504;
+return dev_storage + 570;
}
}
@@ -31228,7 +30249,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj11", 10) == 0)
{
{
-return dev_storage + 489;
+return dev_storage + 555;
}
}
@@ -31243,7 +30264,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi11", 10) == 0)
{
{
-return dev_storage + 474;
+return dev_storage + 540;
}
}
@@ -31258,7 +30279,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh11", 10) == 0)
{
{
-return dev_storage + 459;
+return dev_storage + 525;
}
}
@@ -31273,7 +30294,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg11", 10) == 0)
{
{
-return dev_storage + 444;
+return dev_storage + 510;
}
}
@@ -31288,7 +30309,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf11", 10) == 0)
{
{
-return dev_storage + 429;
+return dev_storage + 495;
}
}
@@ -31303,7 +30324,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde11", 10) == 0)
{
{
-return dev_storage + 414;
+return dev_storage + 480;
}
}
@@ -31321,7 +30342,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddx1", 10) == 0)
{
{
-return dev_storage + 2351;
+return dev_storage + 2417;
}
}
@@ -31336,7 +30357,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddw1", 10) == 0)
{
{
-return dev_storage + 2336;
+return dev_storage + 2402;
}
}
@@ -31351,7 +30372,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddv1", 10) == 0)
{
{
-return dev_storage + 2321;
+return dev_storage + 2387;
}
}
@@ -31366,7 +30387,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddu1", 10) == 0)
{
{
-return dev_storage + 2306;
+return dev_storage + 2372;
}
}
@@ -31381,7 +30402,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddt1", 10) == 0)
{
{
-return dev_storage + 2291;
+return dev_storage + 2357;
}
}
@@ -31396,7 +30417,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdds1", 10) == 0)
{
{
-return dev_storage + 2276;
+return dev_storage + 2342;
}
}
@@ -31411,7 +30432,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddr1", 10) == 0)
{
{
-return dev_storage + 2261;
+return dev_storage + 2327;
}
}
@@ -31426,7 +30447,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddq1", 10) == 0)
{
{
-return dev_storage + 2246;
+return dev_storage + 2312;
}
}
@@ -31441,7 +30462,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddp1", 10) == 0)
{
{
-return dev_storage + 2231;
+return dev_storage + 2297;
}
}
@@ -31456,7 +30477,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddo1", 10) == 0)
{
{
-return dev_storage + 2216;
+return dev_storage + 2282;
}
}
@@ -31471,7 +30492,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddn1", 10) == 0)
{
{
-return dev_storage + 2201;
+return dev_storage + 2267;
}
}
@@ -31486,7 +30507,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddm1", 10) == 0)
{
{
-return dev_storage + 2186;
+return dev_storage + 2252;
}
}
@@ -31501,7 +30522,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddl1", 10) == 0)
{
{
-return dev_storage + 2171;
+return dev_storage + 2237;
}
}
@@ -31516,7 +30537,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddk1", 10) == 0)
{
{
-return dev_storage + 2156;
+return dev_storage + 2222;
}
}
@@ -31531,7 +30552,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddj1", 10) == 0)
{
{
-return dev_storage + 2141;
+return dev_storage + 2207;
}
}
@@ -31546,7 +30567,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddi1", 10) == 0)
{
{
-return dev_storage + 2126;
+return dev_storage + 2192;
}
}
@@ -31561,7 +30582,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddh1", 10) == 0)
{
{
-return dev_storage + 2111;
+return dev_storage + 2177;
}
}
@@ -31576,7 +30597,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddg1", 10) == 0)
{
{
-return dev_storage + 2096;
+return dev_storage + 2162;
}
}
@@ -31591,7 +30612,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddf1", 10) == 0)
{
{
-return dev_storage + 2081;
+return dev_storage + 2147;
}
}
@@ -31606,7 +30627,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdde1", 10) == 0)
{
{
-return dev_storage + 2066;
+return dev_storage + 2132;
}
}
@@ -31621,7 +30642,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddd1", 10) == 0)
{
{
-return dev_storage + 2051;
+return dev_storage + 2117;
}
}
@@ -31636,7 +30657,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddc1", 10) == 0)
{
{
-return dev_storage + 2036;
+return dev_storage + 2102;
}
}
@@ -31651,7 +30672,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddb1", 10) == 0)
{
{
-return dev_storage + 2021;
+return dev_storage + 2087;
}
}
@@ -31666,7 +30687,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdda1", 10) == 0)
{
{
-return dev_storage + 2006;
+return dev_storage + 2072;
}
}
@@ -31684,7 +30705,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd11", 10) == 0)
{
{
-return dev_storage + 399;
+return dev_storage + 465;
}
}
@@ -31699,7 +30720,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd11", 10) == 0)
{
{
-return dev_storage + 313;
+return dev_storage + 379;
}
}
@@ -31729,7 +30750,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcz1", 10) == 0)
{
{
-return dev_storage + 1967;
+return dev_storage + 2033;
}
}
@@ -31744,7 +30765,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcy1", 10) == 0)
{
{
-return dev_storage + 1952;
+return dev_storage + 2018;
}
}
@@ -31759,7 +30780,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcx1", 10) == 0)
{
{
-return dev_storage + 1937;
+return dev_storage + 2003;
}
}
@@ -31774,7 +30795,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcw1", 10) == 0)
{
{
-return dev_storage + 1922;
+return dev_storage + 1988;
}
}
@@ -31789,7 +30810,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcv1", 10) == 0)
{
{
-return dev_storage + 1907;
+return dev_storage + 1973;
}
}
@@ -31804,7 +30825,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcu1", 10) == 0)
{
{
-return dev_storage + 1892;
+return dev_storage + 1958;
}
}
@@ -31819,7 +30840,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdct1", 10) == 0)
{
{
-return dev_storage + 1877;
+return dev_storage + 1943;
}
}
@@ -31834,7 +30855,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcs1", 10) == 0)
{
{
-return dev_storage + 1862;
+return dev_storage + 1928;
}
}
@@ -31849,7 +30870,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcr1", 10) == 0)
{
{
-return dev_storage + 1847;
+return dev_storage + 1913;
}
}
@@ -31864,7 +30885,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcq1", 10) == 0)
{
{
-return dev_storage + 1832;
+return dev_storage + 1898;
}
}
@@ -31879,7 +30900,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcp1", 10) == 0)
{
{
-return dev_storage + 1817;
+return dev_storage + 1883;
}
}
@@ -31894,7 +30915,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdco1", 10) == 0)
{
{
-return dev_storage + 1802;
+return dev_storage + 1868;
}
}
@@ -31909,7 +30930,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcn1", 10) == 0)
{
{
-return dev_storage + 1787;
+return dev_storage + 1853;
}
}
@@ -31924,7 +30945,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcm1", 10) == 0)
{
{
-return dev_storage + 1772;
+return dev_storage + 1838;
}
}
@@ -31939,7 +30960,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcl1", 10) == 0)
{
{
-return dev_storage + 1757;
+return dev_storage + 1823;
}
}
@@ -31954,7 +30975,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdck1", 10) == 0)
{
{
-return dev_storage + 1742;
+return dev_storage + 1808;
}
}
@@ -31969,7 +30990,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcj1", 10) == 0)
{
{
-return dev_storage + 1727;
+return dev_storage + 1793;
}
}
@@ -31984,7 +31005,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdci1", 10) == 0)
{
{
-return dev_storage + 1712;
+return dev_storage + 1778;
}
}
@@ -31999,7 +31020,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdch1", 10) == 0)
{
{
-return dev_storage + 1697;
+return dev_storage + 1763;
}
}
@@ -32014,7 +31035,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcg1", 10) == 0)
{
{
-return dev_storage + 1682;
+return dev_storage + 1748;
}
}
@@ -32029,7 +31050,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcf1", 10) == 0)
{
{
-return dev_storage + 1667;
+return dev_storage + 1733;
}
}
@@ -32044,7 +31065,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdce1", 10) == 0)
{
{
-return dev_storage + 1652;
+return dev_storage + 1718;
}
}
@@ -32059,7 +31080,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcd1", 10) == 0)
{
{
-return dev_storage + 1637;
+return dev_storage + 1703;
}
}
@@ -32074,7 +31095,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcc1", 10) == 0)
{
{
-return dev_storage + 1622;
+return dev_storage + 1688;
}
}
@@ -32089,7 +31110,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcb1", 10) == 0)
{
{
-return dev_storage + 1607;
+return dev_storage + 1673;
}
}
@@ -32104,7 +31125,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdca1", 10) == 0)
{
{
-return dev_storage + 1592;
+return dev_storage + 1658;
}
}
@@ -32119,7 +31140,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc11", 10) == 0)
{
{
-return dev_storage + 384;
+return dev_storage + 450;
}
}
@@ -32143,7 +31164,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbz1", 10) == 0)
{
{
-return dev_storage + 1551;
+return dev_storage + 1617;
}
}
@@ -32158,7 +31179,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdby1", 10) == 0)
{
{
-return dev_storage + 1536;
+return dev_storage + 1602;
}
}
@@ -32173,7 +31194,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbx1", 10) == 0)
{
{
-return dev_storage + 1521;
+return dev_storage + 1587;
}
}
@@ -32188,7 +31209,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbw1", 10) == 0)
{
{
-return dev_storage + 1506;
+return dev_storage + 1572;
}
}
@@ -32203,7 +31224,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbv1", 10) == 0)
{
{
-return dev_storage + 1491;
+return dev_storage + 1557;
}
}
@@ -32218,7 +31239,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbu1", 10) == 0)
{
{
-return dev_storage + 1476;
+return dev_storage + 1542;
}
}
@@ -32233,7 +31254,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbt1", 10) == 0)
{
{
-return dev_storage + 1461;
+return dev_storage + 1527;
}
}
@@ -32248,7 +31269,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbs1", 10) == 0)
{
{
-return dev_storage + 1446;
+return dev_storage + 1512;
}
}
@@ -32263,7 +31284,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbr1", 10) == 0)
{
{
-return dev_storage + 1431;
+return dev_storage + 1497;
}
}
@@ -32278,7 +31299,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbq1", 10) == 0)
{
{
-return dev_storage + 1416;
+return dev_storage + 1482;
}
}
@@ -32293,7 +31314,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbp1", 10) == 0)
{
{
-return dev_storage + 1401;
+return dev_storage + 1467;
}
}
@@ -32308,7 +31329,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbo1", 10) == 0)
{
{
-return dev_storage + 1386;
+return dev_storage + 1452;
}
}
@@ -32323,7 +31344,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbn1", 10) == 0)
{
{
-return dev_storage + 1371;
+return dev_storage + 1437;
}
}
@@ -32338,7 +31359,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbm1", 10) == 0)
{
{
-return dev_storage + 1356;
+return dev_storage + 1422;
}
}
@@ -32353,7 +31374,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbl1", 10) == 0)
{
{
-return dev_storage + 1341;
+return dev_storage + 1407;
}
}
@@ -32368,7 +31389,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbk1", 10) == 0)
{
{
-return dev_storage + 1326;
+return dev_storage + 1392;
}
}
@@ -32383,7 +31404,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbj1", 10) == 0)
{
{
-return dev_storage + 1311;
+return dev_storage + 1377;
}
}
@@ -32398,7 +31419,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbi1", 10) == 0)
{
{
-return dev_storage + 1296;
+return dev_storage + 1362;
}
}
@@ -32413,7 +31434,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbh1", 10) == 0)
{
{
-return dev_storage + 1281;
+return dev_storage + 1347;
}
}
@@ -32428,7 +31449,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbg1", 10) == 0)
{
{
-return dev_storage + 1266;
+return dev_storage + 1332;
}
}
@@ -32443,7 +31464,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbf1", 10) == 0)
{
{
-return dev_storage + 1251;
+return dev_storage + 1317;
}
}
@@ -32458,7 +31479,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbe1", 10) == 0)
{
{
-return dev_storage + 1236;
+return dev_storage + 1302;
}
}
@@ -32473,7 +31494,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbd1", 10) == 0)
{
{
-return dev_storage + 1221;
+return dev_storage + 1287;
}
}
@@ -32488,7 +31509,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbc1", 10) == 0)
{
{
-return dev_storage + 1206;
+return dev_storage + 1272;
}
}
@@ -32503,7 +31524,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbb1", 10) == 0)
{
{
-return dev_storage + 1191;
+return dev_storage + 1257;
}
}
@@ -32518,7 +31539,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdba1", 10) == 0)
{
{
-return dev_storage + 1176;
+return dev_storage + 1242;
}
}
@@ -32533,7 +31554,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb11", 10) == 0)
{
{
-return dev_storage + 369;
+return dev_storage + 435;
}
}
@@ -32557,7 +31578,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaz1", 10) == 0)
{
{
-return dev_storage + 1135;
+return dev_storage + 1201;
}
}
@@ -32572,7 +31593,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sday1", 10) == 0)
{
{
-return dev_storage + 1120;
+return dev_storage + 1186;
}
}
@@ -32587,7 +31608,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdax1", 10) == 0)
{
{
-return dev_storage + 1105;
+return dev_storage + 1171;
}
}
@@ -32602,7 +31623,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaw1", 10) == 0)
{
{
-return dev_storage + 1090;
+return dev_storage + 1156;
}
}
@@ -32617,7 +31638,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdav1", 10) == 0)
{
{
-return dev_storage + 1075;
+return dev_storage + 1141;
}
}
@@ -32632,7 +31653,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdau1", 10) == 0)
{
{
-return dev_storage + 1060;
+return dev_storage + 1126;
}
}
@@ -32647,7 +31668,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdat1", 10) == 0)
{
{
-return dev_storage + 1045;
+return dev_storage + 1111;
}
}
@@ -32662,7 +31683,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdas1", 10) == 0)
{
{
-return dev_storage + 1030;
+return dev_storage + 1096;
}
}
@@ -32677,7 +31698,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdar1", 10) == 0)
{
{
-return dev_storage + 1015;
+return dev_storage + 1081;
}
}
@@ -32692,7 +31713,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaq1", 10) == 0)
{
{
-return dev_storage + 1000;
+return dev_storage + 1066;
}
}
@@ -32707,7 +31728,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdap1", 10) == 0)
{
{
-return dev_storage + 985;
+return dev_storage + 1051;
}
}
@@ -32722,7 +31743,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdao1", 10) == 0)
{
{
-return dev_storage + 970;
+return dev_storage + 1036;
}
}
@@ -32737,7 +31758,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdan1", 10) == 0)
{
{
-return dev_storage + 955;
+return dev_storage + 1021;
}
}
@@ -32752,7 +31773,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdam1", 10) == 0)
{
{
-return dev_storage + 940;
+return dev_storage + 1006;
}
}
@@ -32767,7 +31788,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdal1", 10) == 0)
{
{
-return dev_storage + 925;
+return dev_storage + 991;
}
}
@@ -32782,7 +31803,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdak1", 10) == 0)
{
{
-return dev_storage + 910;
+return dev_storage + 976;
}
}
@@ -32797,7 +31818,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaj1", 10) == 0)
{
{
-return dev_storage + 895;
+return dev_storage + 961;
}
}
@@ -32812,7 +31833,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdai1", 10) == 0)
{
{
-return dev_storage + 880;
+return dev_storage + 946;
}
}
@@ -32827,7 +31848,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdah1", 10) == 0)
{
{
-return dev_storage + 865;
+return dev_storage + 931;
}
}
@@ -32842,7 +31863,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdag1", 10) == 0)
{
{
-return dev_storage + 850;
+return dev_storage + 916;
}
}
@@ -32857,7 +31878,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaf1", 10) == 0)
{
{
-return dev_storage + 835;
+return dev_storage + 901;
}
}
@@ -32872,7 +31893,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdae1", 10) == 0)
{
{
-return dev_storage + 820;
+return dev_storage + 886;
}
}
@@ -32887,7 +31908,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdad1", 10) == 0)
{
{
-return dev_storage + 805;
+return dev_storage + 871;
}
}
@@ -32902,7 +31923,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdac1", 10) == 0)
{
{
-return dev_storage + 790;
+return dev_storage + 856;
}
}
@@ -32917,7 +31938,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdab1", 10) == 0)
{
{
-return dev_storage + 775;
+return dev_storage + 841;
}
}
@@ -32932,7 +31953,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaa1", 10) == 0)
{
{
-return dev_storage + 760;
+return dev_storage + 826;
}
}
@@ -32947,7 +31968,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda11", 10) == 0)
{
{
-return dev_storage + 354;
+return dev_storage + 420;
}
}
@@ -32971,7 +31992,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st121", 10) == 0)
{
{
-return dev_storage + 2503;
+return dev_storage + 2569;
}
}
@@ -32986,7 +32007,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st111", 10) == 0)
{
{
-return dev_storage + 2493;
+return dev_storage + 2559;
}
}
@@ -33001,7 +32022,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st101", 10) == 0)
{
{
-return dev_storage + 2483;
+return dev_storage + 2549;
}
}
@@ -33031,7 +32052,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdz10", 10) == 0)
{
{
-return dev_storage + 728;
+return dev_storage + 794;
}
}
@@ -33045,11 +32066,26 @@ return NULL;
case 'y':
switch (KR_keyword [8])
{
+ case 'm':
+ if (strncmp (KR_keyword, "/dev/ptym0", 10) == 0)
+ {
+{
+return dev_storage + 303;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
case 'S':
if (strncmp (KR_keyword, "/dev/ttyS0", 10) == 0)
{
{
-return dev_storage + 2511;
+return dev_storage + 2577;
}
}
@@ -33064,7 +32100,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty60", 10) == 0)
{
{
-return dev_storage + 297;
+return dev_storage + 299;
}
}
@@ -33079,7 +32115,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty50", 10) == 0)
{
{
-return dev_storage + 287;
+return dev_storage + 289;
}
}
@@ -33094,7 +32130,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty40", 10) == 0)
{
{
-return dev_storage + 277;
+return dev_storage + 279;
}
}
@@ -33109,7 +32145,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty30", 10) == 0)
{
{
-return dev_storage + 267;
+return dev_storage + 269;
}
}
@@ -33124,7 +32160,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty20", 10) == 0)
{
{
-return dev_storage + 257;
+return dev_storage + 259;
}
}
@@ -33142,7 +32178,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdy10", 10) == 0)
{
{
-return dev_storage + 713;
+return dev_storage + 779;
}
}
@@ -33157,7 +32193,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/pty10", 10) == 0)
{
{
-return dev_storage + 247;
+return dev_storage + 249;
}
}
@@ -33184,7 +32220,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdx10", 10) == 0)
{
{
-return dev_storage + 698;
+return dev_storage + 764;
}
}
@@ -33199,7 +32235,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdw10", 10) == 0)
{
{
-return dev_storage + 683;
+return dev_storage + 749;
}
}
@@ -33214,7 +32250,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdv10", 10) == 0)
{
{
-return dev_storage + 668;
+return dev_storage + 734;
}
}
@@ -33229,7 +32265,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdu10", 10) == 0)
{
{
-return dev_storage + 653;
+return dev_storage + 719;
}
}
@@ -33247,7 +32283,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst90", 10) == 0)
{
{
-return dev_storage + 196;
+return dev_storage + 197;
}
}
@@ -33262,7 +32298,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst80", 10) == 0)
{
{
-return dev_storage + 186;
+return dev_storage + 187;
}
}
@@ -33277,7 +32313,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst70", 10) == 0)
{
{
-return dev_storage + 176;
+return dev_storage + 177;
}
}
@@ -33292,7 +32328,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst60", 10) == 0)
{
{
-return dev_storage + 166;
+return dev_storage + 167;
}
}
@@ -33307,7 +32343,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst50", 10) == 0)
{
{
-return dev_storage + 156;
+return dev_storage + 157;
}
}
@@ -33322,7 +32358,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst40", 10) == 0)
{
{
-return dev_storage + 146;
+return dev_storage + 147;
}
}
@@ -33337,7 +32373,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst30", 10) == 0)
{
{
-return dev_storage + 136;
+return dev_storage + 137;
}
}
@@ -33352,7 +32388,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst20", 10) == 0)
{
{
-return dev_storage + 126;
+return dev_storage + 127;
}
}
@@ -33370,7 +32406,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdt10", 10) == 0)
{
{
-return dev_storage + 638;
+return dev_storage + 704;
}
}
@@ -33385,7 +32421,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst10", 10) == 0)
{
{
-return dev_storage + 116;
+return dev_storage + 117;
}
}
@@ -33412,7 +32448,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sds10", 10) == 0)
{
{
-return dev_storage + 623;
+return dev_storage + 689;
}
}
@@ -33427,7 +32463,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdr10", 10) == 0)
{
{
-return dev_storage + 608;
+return dev_storage + 674;
}
}
@@ -33442,7 +32478,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdq10", 10) == 0)
{
{
-return dev_storage + 593;
+return dev_storage + 659;
}
}
@@ -33457,7 +32493,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdp10", 10) == 0)
{
{
-return dev_storage + 578;
+return dev_storage + 644;
}
}
@@ -33472,7 +32508,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdo10", 10) == 0)
{
{
-return dev_storage + 563;
+return dev_storage + 629;
}
}
@@ -33490,7 +32526,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdn10", 10) == 0)
{
{
-return dev_storage + 548;
+return dev_storage + 614;
}
}
@@ -33529,7 +32565,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdm10", 10) == 0)
{
{
-return dev_storage + 533;
+return dev_storage + 599;
}
}
@@ -33565,7 +32601,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdl10", 10) == 0)
{
{
-return dev_storage + 518;
+return dev_storage + 584;
}
}
@@ -33580,7 +32616,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdk10", 10) == 0)
{
{
-return dev_storage + 503;
+return dev_storage + 569;
}
}
@@ -33595,7 +32631,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdj10", 10) == 0)
{
{
-return dev_storage + 488;
+return dev_storage + 554;
}
}
@@ -33610,7 +32646,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdi10", 10) == 0)
{
{
-return dev_storage + 473;
+return dev_storage + 539;
}
}
@@ -33625,7 +32661,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdh10", 10) == 0)
{
{
-return dev_storage + 458;
+return dev_storage + 524;
}
}
@@ -33640,7 +32676,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdg10", 10) == 0)
{
{
-return dev_storage + 443;
+return dev_storage + 509;
}
}
@@ -33655,7 +32691,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdf10", 10) == 0)
{
{
-return dev_storage + 428;
+return dev_storage + 494;
}
}
@@ -33670,7 +32706,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sde10", 10) == 0)
{
{
-return dev_storage + 413;
+return dev_storage + 479;
}
}
@@ -33688,7 +32724,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdd10", 10) == 0)
{
{
-return dev_storage + 398;
+return dev_storage + 464;
}
}
@@ -33703,7 +32739,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/scd10", 10) == 0)
{
{
-return dev_storage + 312;
+return dev_storage + 378;
}
}
@@ -33724,7 +32760,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdc10", 10) == 0)
{
{
-return dev_storage + 383;
+return dev_storage + 449;
}
}
@@ -33739,7 +32775,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdb10", 10) == 0)
{
{
-return dev_storage + 368;
+return dev_storage + 434;
}
}
@@ -33754,7 +32790,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sda10", 10) == 0)
{
{
-return dev_storage + 353;
+return dev_storage + 419;
}
}
@@ -33772,7 +32808,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st120", 10) == 0)
{
{
-return dev_storage + 2502;
+return dev_storage + 2568;
}
}
@@ -33787,7 +32823,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st110", 10) == 0)
{
{
-return dev_storage + 2492;
+return dev_storage + 2558;
}
}
@@ -33802,7 +32838,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/st100", 10) == 0)
{
{
-return dev_storage + 2482;
+return dev_storage + 2548;
}
}
@@ -33853,7 +32889,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/random", 11) == 0)
{
{
-return dev_storage + 301;
+return dev_storage + 367;
}
}
@@ -33874,7 +32910,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS59", 11) == 0)
{
{
-return dev_storage + 2570;
+return dev_storage + 2636;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym59", 11) == 0)
+ {
+{
+return dev_storage + 362;
}
}
@@ -33913,7 +32964,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS49", 11) == 0)
{
{
-return dev_storage + 2560;
+return dev_storage + 2626;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym49", 11) == 0)
+ {
+{
+return dev_storage + 352;
}
}
@@ -33952,7 +33018,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS39", 11) == 0)
{
{
-return dev_storage + 2550;
+return dev_storage + 2616;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym39", 11) == 0)
+ {
+{
+return dev_storage + 342;
}
}
@@ -33991,7 +33072,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS29", 11) == 0)
{
{
-return dev_storage + 2540;
+return dev_storage + 2606;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym29", 11) == 0)
+ {
+{
+return dev_storage + 332;
}
}
@@ -34030,7 +33126,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS19", 11) == 0)
{
{
-return dev_storage + 2530;
+return dev_storage + 2596;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym19", 11) == 0)
+ {
+{
+return dev_storage + 322;
}
}
@@ -34045,7 +33156,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst119", 11) == 0)
{
{
-return dev_storage + 225;
+return dev_storage + 226;
}
}
@@ -34081,7 +33192,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst109", 11) == 0)
{
{
-return dev_storage + 215;
+return dev_storage + 216;
}
}
@@ -34108,7 +33219,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS58", 11) == 0)
{
{
-return dev_storage + 2569;
+return dev_storage + 2635;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym58", 11) == 0)
+ {
+{
+return dev_storage + 361;
}
}
@@ -34147,7 +33273,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS48", 11) == 0)
{
{
-return dev_storage + 2559;
+return dev_storage + 2625;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym48", 11) == 0)
+ {
+{
+return dev_storage + 351;
}
}
@@ -34186,7 +33327,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS38", 11) == 0)
{
{
-return dev_storage + 2549;
+return dev_storage + 2615;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym38", 11) == 0)
+ {
+{
+return dev_storage + 341;
}
}
@@ -34225,7 +33381,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS28", 11) == 0)
{
{
-return dev_storage + 2539;
+return dev_storage + 2605;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym28", 11) == 0)
+ {
+{
+return dev_storage + 331;
}
}
@@ -34264,7 +33435,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS18", 11) == 0)
{
{
-return dev_storage + 2529;
+return dev_storage + 2595;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym18", 11) == 0)
+ {
+{
+return dev_storage + 321;
}
}
@@ -34279,7 +33465,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst118", 11) == 0)
{
{
-return dev_storage + 224;
+return dev_storage + 225;
}
}
@@ -34315,7 +33501,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst108", 11) == 0)
{
{
-return dev_storage + 214;
+return dev_storage + 215;
}
}
@@ -34342,7 +33528,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS57", 11) == 0)
{
{
-return dev_storage + 2568;
+return dev_storage + 2634;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym57", 11) == 0)
+ {
+{
+return dev_storage + 360;
}
}
@@ -34381,7 +33582,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS47", 11) == 0)
{
{
-return dev_storage + 2558;
+return dev_storage + 2624;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym47", 11) == 0)
+ {
+{
+return dev_storage + 350;
}
}
@@ -34420,7 +33636,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS37", 11) == 0)
{
{
-return dev_storage + 2548;
+return dev_storage + 2614;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym37", 11) == 0)
+ {
+{
+return dev_storage + 340;
}
}
@@ -34459,7 +33690,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS27", 11) == 0)
{
{
-return dev_storage + 2538;
+return dev_storage + 2604;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym27", 11) == 0)
+ {
+{
+return dev_storage + 330;
}
}
@@ -34474,7 +33720,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst127", 11) == 0)
{
{
-return dev_storage + 233;
+return dev_storage + 234;
}
}
@@ -34513,7 +33759,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS17", 11) == 0)
{
{
-return dev_storage + 2528;
+return dev_storage + 2594;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym17", 11) == 0)
+ {
+{
+return dev_storage + 320;
}
}
@@ -34528,7 +33789,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst117", 11) == 0)
{
{
-return dev_storage + 223;
+return dev_storage + 224;
}
}
@@ -34564,7 +33825,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst107", 11) == 0)
{
{
-return dev_storage + 213;
+return dev_storage + 214;
}
}
@@ -34591,7 +33852,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS56", 11) == 0)
{
{
-return dev_storage + 2567;
+return dev_storage + 2633;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym56", 11) == 0)
+ {
+{
+return dev_storage + 359;
}
}
@@ -34630,7 +33906,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS46", 11) == 0)
{
{
-return dev_storage + 2557;
+return dev_storage + 2623;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym46", 11) == 0)
+ {
+{
+return dev_storage + 349;
}
}
@@ -34669,7 +33960,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS36", 11) == 0)
{
{
-return dev_storage + 2547;
+return dev_storage + 2613;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym36", 11) == 0)
+ {
+{
+return dev_storage + 339;
}
}
@@ -34708,7 +34014,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS26", 11) == 0)
{
{
-return dev_storage + 2537;
+return dev_storage + 2603;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym26", 11) == 0)
+ {
+{
+return dev_storage + 329;
}
}
@@ -34723,7 +34044,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst126", 11) == 0)
{
{
-return dev_storage + 232;
+return dev_storage + 233;
}
}
@@ -34762,7 +34083,22 @@ return NULL;
if (strncmp (KR_keyword, "/dev/ttyS16", 11) == 0)
{
{
-return dev_storage + 2527;
+return dev_storage + 2593;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ if (strncmp (KR_keyword, "/dev/ptym16", 11) == 0)
+ {
+{
+return dev_storage + 319;
}
}
@@ -34777,7 +34113,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst116", 11) == 0)
{
{
-return dev_storage + 222;
+return dev_storage + 223;
}
}
@@ -34813,7 +34149,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst106", 11) == 0)
{
{
-return dev_storage + 212;
+return dev_storage + 213;
}
}
@@ -34834,78 +34170,171 @@ return NULL;
switch (KR_keyword [7])
{
case 'y':
- switch (KR_keyword [9])
+ switch (KR_keyword [5])
{
- case '5':
- if (strncmp (KR_keyword, "/dev/ttyS55", 11) == 0)
+ case 't':
+ switch (KR_keyword [9])
{
+ case '5':
+ if (strncmp (KR_keyword, "/dev/ttyS55", 11) == 0)
+ {
{
-return dev_storage + 2566;
+return dev_storage + 2632;
}
- }
- else
- {
+ }
+ else
+ {
{
return NULL;
}
- }
- case '4':
- if (strncmp (KR_keyword, "/dev/ttyS45", 11) == 0)
- {
+ }
+ case '4':
+ if (strncmp (KR_keyword, "/dev/ttyS45", 11) == 0)
+ {
{
-return dev_storage + 2556;
+return dev_storage + 2622;
}
- }
- else
- {
+ }
+ else
+ {
{
return NULL;
}
- }
- case '3':
- if (strncmp (KR_keyword, "/dev/ttyS35", 11) == 0)
- {
+ }
+ case '3':
+ if (strncmp (KR_keyword, "/dev/ttyS35", 11) == 0)
+ {
{
-return dev_storage + 2546;
+return dev_storage + 2612;
}
- }
- else
- {
+ }
+ else
+ {
{
return NULL;
}
- }
- case '2':
- if (strncmp (KR_keyword, "/dev/ttyS25", 11) == 0)
- {
+ }
+ case '2':
+ if (strncmp (KR_keyword, "/dev/ttyS25", 11) == 0)
+ {
{
-return dev_storage + 2536;
+return dev_storage + 2602;
}
- }
- else
- {
+ }
+ else
+ {
{
return NULL;
}
- }
- case '1':
- if (strncmp (KR_keyword, "/dev/ttyS15", 11) == 0)
- {
+ }
+ case '1':
+ if (strncmp (KR_keyword, "/dev/ttyS15", 11) == 0)
+ {
{
-return dev_storage + 2526;
+return dev_storage + 2592;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ default:
+{
+return NULL;
}
}
- else
+ case 'p':
+ switch (KR_keyword [9])
{
+ case '5':
+ if (strncmp (KR_keyword, "/dev/ptym55", 11) == 0)
+ {
+{
+return dev_storage + 358;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case '4':
+ if (strncmp (KR_keyword, "/dev/ptym45", 11) == 0)
+ {
+{
+return dev_storage + 348;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case '3':
+ if (strncmp (KR_keyword, "/dev/ptym35", 11) == 0)
+ {
+{
+return dev_storage + 338;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case '2':
+ if (strncmp (KR_keyword, "/dev/ptym25", 11) == 0)
+ {
+{
+return dev_storage + 328;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case '1':
+ if (strncmp (KR_keyword, "/dev/ptym15", 11) == 0)
+ {
+{
+return dev_storage + 318;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ default:
{
return NULL;
@@ -34924,7 +34353,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst125", 11) == 0)
{
{
-return dev_storage + 231;
+return dev_storage + 232;
}
}
@@ -34939,7 +34368,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst115", 11) == 0)
{
{
-return dev_storage + 221;
+return dev_storage + 222;
}
}
@@ -34954,7 +34383,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst105", 11) == 0)
{
{
-return dev_storage + 211;
+return dev_storage + 212;
}
}
@@ -35062,7 +34491,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddx15", 11) == 0)
{
{
-return dev_storage + 2365;
+return dev_storage + 2431;
}
}
@@ -35077,7 +34506,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddw15", 11) == 0)
{
{
-return dev_storage + 2350;
+return dev_storage + 2416;
}
}
@@ -35092,7 +34521,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddv15", 11) == 0)
{
{
-return dev_storage + 2335;
+return dev_storage + 2401;
}
}
@@ -35107,7 +34536,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddu15", 11) == 0)
{
{
-return dev_storage + 2320;
+return dev_storage + 2386;
}
}
@@ -35122,7 +34551,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddt15", 11) == 0)
{
{
-return dev_storage + 2305;
+return dev_storage + 2371;
}
}
@@ -35137,7 +34566,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdds15", 11) == 0)
{
{
-return dev_storage + 2290;
+return dev_storage + 2356;
}
}
@@ -35152,7 +34581,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddr15", 11) == 0)
{
{
-return dev_storage + 2275;
+return dev_storage + 2341;
}
}
@@ -35167,7 +34596,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddq15", 11) == 0)
{
{
-return dev_storage + 2260;
+return dev_storage + 2326;
}
}
@@ -35182,7 +34611,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddp15", 11) == 0)
{
{
-return dev_storage + 2245;
+return dev_storage + 2311;
}
}
@@ -35197,7 +34626,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddo15", 11) == 0)
{
{
-return dev_storage + 2230;
+return dev_storage + 2296;
}
}
@@ -35212,7 +34641,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddn15", 11) == 0)
{
{
-return dev_storage + 2215;
+return dev_storage + 2281;
}
}
@@ -35227,7 +34656,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddm15", 11) == 0)
{
{
-return dev_storage + 2200;
+return dev_storage + 2266;
}
}
@@ -35242,7 +34671,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddl15", 11) == 0)
{
{
-return dev_storage + 2185;
+return dev_storage + 2251;
}
}
@@ -35257,7 +34686,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddk15", 11) == 0)
{
{
-return dev_storage + 2170;
+return dev_storage + 2236;
}
}
@@ -35272,7 +34701,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddj15", 11) == 0)
{
{
-return dev_storage + 2155;
+return dev_storage + 2221;
}
}
@@ -35287,7 +34716,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddi15", 11) == 0)
{
{
-return dev_storage + 2140;
+return dev_storage + 2206;
}
}
@@ -35302,7 +34731,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddh15", 11) == 0)
{
{
-return dev_storage + 2125;
+return dev_storage + 2191;
}
}
@@ -35317,7 +34746,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddg15", 11) == 0)
{
{
-return dev_storage + 2110;
+return dev_storage + 2176;
}
}
@@ -35332,7 +34761,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddf15", 11) == 0)
{
{
-return dev_storage + 2095;
+return dev_storage + 2161;
}
}
@@ -35347,7 +34776,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdde15", 11) == 0)
{
{
-return dev_storage + 2080;
+return dev_storage + 2146;
}
}
@@ -35362,7 +34791,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddd15", 11) == 0)
{
{
-return dev_storage + 2065;
+return dev_storage + 2131;
}
}
@@ -35377,7 +34806,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddc15", 11) == 0)
{
{
-return dev_storage + 2050;
+return dev_storage + 2116;
}
}
@@ -35392,7 +34821,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddb15", 11) == 0)
{
{
-return dev_storage + 2035;
+return dev_storage + 2101;
}
}
@@ -35407,7 +34836,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdda15", 11) == 0)
{
{
-return dev_storage + 2020;
+return dev_storage + 2086;
}
}
@@ -35431,7 +34860,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcz15", 11) == 0)
{
{
-return dev_storage + 1981;
+return dev_storage + 2047;
}
}
@@ -35446,7 +34875,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcy15", 11) == 0)
{
{
-return dev_storage + 1966;
+return dev_storage + 2032;
}
}
@@ -35461,7 +34890,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcx15", 11) == 0)
{
{
-return dev_storage + 1951;
+return dev_storage + 2017;
}
}
@@ -35476,7 +34905,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcw15", 11) == 0)
{
{
-return dev_storage + 1936;
+return dev_storage + 2002;
}
}
@@ -35491,7 +34920,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcv15", 11) == 0)
{
{
-return dev_storage + 1921;
+return dev_storage + 1987;
}
}
@@ -35506,7 +34935,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcu15", 11) == 0)
{
{
-return dev_storage + 1906;
+return dev_storage + 1972;
}
}
@@ -35521,7 +34950,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdct15", 11) == 0)
{
{
-return dev_storage + 1891;
+return dev_storage + 1957;
}
}
@@ -35536,7 +34965,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcs15", 11) == 0)
{
{
-return dev_storage + 1876;
+return dev_storage + 1942;
}
}
@@ -35551,7 +34980,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcr15", 11) == 0)
{
{
-return dev_storage + 1861;
+return dev_storage + 1927;
}
}
@@ -35566,7 +34995,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcq15", 11) == 0)
{
{
-return dev_storage + 1846;
+return dev_storage + 1912;
}
}
@@ -35581,7 +35010,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcp15", 11) == 0)
{
{
-return dev_storage + 1831;
+return dev_storage + 1897;
}
}
@@ -35596,7 +35025,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdco15", 11) == 0)
{
{
-return dev_storage + 1816;
+return dev_storage + 1882;
}
}
@@ -35611,7 +35040,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcn15", 11) == 0)
{
{
-return dev_storage + 1801;
+return dev_storage + 1867;
}
}
@@ -35626,7 +35055,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcm15", 11) == 0)
{
{
-return dev_storage + 1786;
+return dev_storage + 1852;
}
}
@@ -35641,7 +35070,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcl15", 11) == 0)
{
{
-return dev_storage + 1771;
+return dev_storage + 1837;
}
}
@@ -35656,7 +35085,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdck15", 11) == 0)
{
{
-return dev_storage + 1756;
+return dev_storage + 1822;
}
}
@@ -35671,7 +35100,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcj15", 11) == 0)
{
{
-return dev_storage + 1741;
+return dev_storage + 1807;
}
}
@@ -35686,7 +35115,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdci15", 11) == 0)
{
{
-return dev_storage + 1726;
+return dev_storage + 1792;
}
}
@@ -35701,7 +35130,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdch15", 11) == 0)
{
{
-return dev_storage + 1711;
+return dev_storage + 1777;
}
}
@@ -35716,7 +35145,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcg15", 11) == 0)
{
{
-return dev_storage + 1696;
+return dev_storage + 1762;
}
}
@@ -35731,7 +35160,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcf15", 11) == 0)
{
{
-return dev_storage + 1681;
+return dev_storage + 1747;
}
}
@@ -35746,7 +35175,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdce15", 11) == 0)
{
{
-return dev_storage + 1666;
+return dev_storage + 1732;
}
}
@@ -35761,7 +35190,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcd15", 11) == 0)
{
{
-return dev_storage + 1651;
+return dev_storage + 1717;
}
}
@@ -35776,7 +35205,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcc15", 11) == 0)
{
{
-return dev_storage + 1636;
+return dev_storage + 1702;
}
}
@@ -35791,7 +35220,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcb15", 11) == 0)
{
{
-return dev_storage + 1621;
+return dev_storage + 1687;
}
}
@@ -35806,7 +35235,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdca15", 11) == 0)
{
{
-return dev_storage + 1606;
+return dev_storage + 1672;
}
}
@@ -35830,7 +35259,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbz15", 11) == 0)
{
{
-return dev_storage + 1565;
+return dev_storage + 1631;
}
}
@@ -35845,7 +35274,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdby15", 11) == 0)
{
{
-return dev_storage + 1550;
+return dev_storage + 1616;
}
}
@@ -35860,7 +35289,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbx15", 11) == 0)
{
{
-return dev_storage + 1535;
+return dev_storage + 1601;
}
}
@@ -35875,7 +35304,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbw15", 11) == 0)
{
{
-return dev_storage + 1520;
+return dev_storage + 1586;
}
}
@@ -35890,7 +35319,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbv15", 11) == 0)
{
{
-return dev_storage + 1505;
+return dev_storage + 1571;
}
}
@@ -35905,7 +35334,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbu15", 11) == 0)
{
{
-return dev_storage + 1490;
+return dev_storage + 1556;
}
}
@@ -35920,7 +35349,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbt15", 11) == 0)
{
{
-return dev_storage + 1475;
+return dev_storage + 1541;
}
}
@@ -35935,7 +35364,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbs15", 11) == 0)
{
{
-return dev_storage + 1460;
+return dev_storage + 1526;
}
}
@@ -35950,7 +35379,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbr15", 11) == 0)
{
{
-return dev_storage + 1445;
+return dev_storage + 1511;
}
}
@@ -35965,7 +35394,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbq15", 11) == 0)
{
{
-return dev_storage + 1430;
+return dev_storage + 1496;
}
}
@@ -35980,7 +35409,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbp15", 11) == 0)
{
{
-return dev_storage + 1415;
+return dev_storage + 1481;
}
}
@@ -35995,7 +35424,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbo15", 11) == 0)
{
{
-return dev_storage + 1400;
+return dev_storage + 1466;
}
}
@@ -36010,7 +35439,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbn15", 11) == 0)
{
{
-return dev_storage + 1385;
+return dev_storage + 1451;
}
}
@@ -36025,7 +35454,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbm15", 11) == 0)
{
{
-return dev_storage + 1370;
+return dev_storage + 1436;
}
}
@@ -36040,7 +35469,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbl15", 11) == 0)
{
{
-return dev_storage + 1355;
+return dev_storage + 1421;
}
}
@@ -36055,7 +35484,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbk15", 11) == 0)
{
{
-return dev_storage + 1340;
+return dev_storage + 1406;
}
}
@@ -36070,7 +35499,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbj15", 11) == 0)
{
{
-return dev_storage + 1325;
+return dev_storage + 1391;
}
}
@@ -36085,7 +35514,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbi15", 11) == 0)
{
{
-return dev_storage + 1310;
+return dev_storage + 1376;
}
}
@@ -36100,7 +35529,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbh15", 11) == 0)
{
{
-return dev_storage + 1295;
+return dev_storage + 1361;
}
}
@@ -36115,7 +35544,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbg15", 11) == 0)
{
{
-return dev_storage + 1280;
+return dev_storage + 1346;
}
}
@@ -36130,7 +35559,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbf15", 11) == 0)
{
{
-return dev_storage + 1265;
+return dev_storage + 1331;
}
}
@@ -36145,7 +35574,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbe15", 11) == 0)
{
{
-return dev_storage + 1250;
+return dev_storage + 1316;
}
}
@@ -36160,7 +35589,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbd15", 11) == 0)
{
{
-return dev_storage + 1235;
+return dev_storage + 1301;
}
}
@@ -36175,7 +35604,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbc15", 11) == 0)
{
{
-return dev_storage + 1220;
+return dev_storage + 1286;
}
}
@@ -36190,7 +35619,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbb15", 11) == 0)
{
{
-return dev_storage + 1205;
+return dev_storage + 1271;
}
}
@@ -36205,7 +35634,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdba15", 11) == 0)
{
{
-return dev_storage + 1190;
+return dev_storage + 1256;
}
}
@@ -36229,7 +35658,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaz15", 11) == 0)
{
{
-return dev_storage + 1149;
+return dev_storage + 1215;
}
}
@@ -36244,7 +35673,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sday15", 11) == 0)
{
{
-return dev_storage + 1134;
+return dev_storage + 1200;
}
}
@@ -36259,7 +35688,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdax15", 11) == 0)
{
{
-return dev_storage + 1119;
+return dev_storage + 1185;
}
}
@@ -36274,7 +35703,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaw15", 11) == 0)
{
{
-return dev_storage + 1104;
+return dev_storage + 1170;
}
}
@@ -36289,7 +35718,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdav15", 11) == 0)
{
{
-return dev_storage + 1089;
+return dev_storage + 1155;
}
}
@@ -36304,7 +35733,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdau15", 11) == 0)
{
{
-return dev_storage + 1074;
+return dev_storage + 1140;
}
}
@@ -36319,7 +35748,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdat15", 11) == 0)
{
{
-return dev_storage + 1059;
+return dev_storage + 1125;
}
}
@@ -36334,7 +35763,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdas15", 11) == 0)
{
{
-return dev_storage + 1044;
+return dev_storage + 1110;
}
}
@@ -36349,7 +35778,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdar15", 11) == 0)
{
{
-return dev_storage + 1029;
+return dev_storage + 1095;
}
}
@@ -36364,7 +35793,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaq15", 11) == 0)
{
{
-return dev_storage + 1014;
+return dev_storage + 1080;
}
}
@@ -36379,7 +35808,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdap15", 11) == 0)
{
{
-return dev_storage + 999;
+return dev_storage + 1065;
}
}
@@ -36394,7 +35823,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdao15", 11) == 0)
{
{
-return dev_storage + 984;
+return dev_storage + 1050;
}
}
@@ -36409,7 +35838,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdan15", 11) == 0)
{
{
-return dev_storage + 969;
+return dev_storage + 1035;
}
}
@@ -36424,7 +35853,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdam15", 11) == 0)
{
{
-return dev_storage + 954;
+return dev_storage + 1020;
}
}
@@ -36439,7 +35868,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdal15", 11) == 0)
{
{
-return dev_storage + 939;
+return dev_storage + 1005;
}
}
@@ -36454,7 +35883,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdak15", 11) == 0)
{
{
-return dev_storage + 924;
+return dev_storage + 990;
}
}
@@ -36469,7 +35898,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaj15", 11) == 0)
{
{
-return dev_storage + 909;
+return dev_storage + 975;
}
}
@@ -36484,7 +35913,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdai15", 11) == 0)
{
{
-return dev_storage + 894;
+return dev_storage + 960;
}
}
@@ -36499,7 +35928,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdah15", 11) == 0)
{
{
-return dev_storage + 879;
+return dev_storage + 945;
}
}
@@ -36514,7 +35943,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdag15", 11) == 0)
{
{
-return dev_storage + 864;
+return dev_storage + 930;
}
}
@@ -36529,7 +35958,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaf15", 11) == 0)
{
{
-return dev_storage + 849;
+return dev_storage + 915;
}
}
@@ -36544,7 +35973,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdae15", 11) == 0)
{
{
-return dev_storage + 834;
+return dev_storage + 900;
}
}
@@ -36559,7 +35988,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdad15", 11) == 0)
{
{
-return dev_storage + 819;
+return dev_storage + 885;
}
}
@@ -36574,7 +36003,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdac15", 11) == 0)
{
{
-return dev_storage + 804;
+return dev_storage + 870;
}
}
@@ -36589,7 +36018,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdab15", 11) == 0)
{
{
-return dev_storage + 789;
+return dev_storage + 855;
}
}
@@ -36604,7 +36033,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaa15", 11) == 0)
{
{
-return dev_storage + 774;
+return dev_storage + 840;
}
}
@@ -36631,78 +36060,171 @@ return NULL;
switch (KR_keyword [7])
{
case 'y':
- switch (KR_keyword [9])
+ switch (KR_keyword [5])
{
- case '5':
- if (strncmp (KR_keyword, "/dev/ttyS54", 11) == 0)
+ case 't':
+ switch (KR_keyword [9])
{
+ case '5':
+ if (strncmp (KR_keyword, "/dev/ttyS54", 11) == 0)
+ {
{
-return dev_storage + 2565;
+return dev_storage + 2631;
}
- }
- else
- {
+ }
+ else
+ {
{
return NULL;
}
- }
- case '4':
- if (strncmp (KR_keyword, "/dev/ttyS44", 11) == 0)
- {
+ }
+ case '4':
+ if (strncmp (KR_keyword, "/dev/ttyS44", 11) == 0)
+ {
{
-return dev_storage + 2555;
+return dev_storage + 2621;
}
- }
- else
- {
+ }
+ else
+ {
{
return NULL;
}
- }
- case '3':
- if (strncmp (KR_keyword, "/dev/ttyS34", 11) == 0)
- {
+ }
+ case '3':
+ if (strncmp (KR_keyword, "/dev/ttyS34", 11) == 0)
+ {
{
-return dev_storage + 2545;
+return dev_storage + 2611;
}
- }
- else
- {
+ }
+ else
+ {
{
return NULL;
}
- }
- case '2':
- if (strncmp (KR_keyword, "/dev/ttyS24", 11) == 0)
- {
+ }
+ case '2':
+ if (strncmp (KR_keyword, "/dev/ttyS24", 11) == 0)
+ {
{
-return dev_storage + 2535;
+return dev_storage + 2601;
}
- }
- else
- {
+ }
+ else
+ {
{
return NULL;
}
- }
- case '1':
- if (strncmp (KR_keyword, "/dev/ttyS14", 11) == 0)
- {
+ }
+ case '1':
+ if (strncmp (KR_keyword, "/dev/ttyS14", 11) == 0)
+ {
{
-return dev_storage + 2525;
+return dev_storage + 2591;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ default:
+{
+return NULL;
}
}
- else
+ case 'p':
+ switch (KR_keyword [9])
{
+ case '5':
+ if (strncmp (KR_keyword, "/dev/ptym54", 11) == 0)
+ {
+{
+return dev_storage + 357;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case '4':
+ if (strncmp (KR_keyword, "/dev/ptym44", 11) == 0)
+ {
+{
+return dev_storage + 347;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case '3':
+ if (strncmp (KR_keyword, "/dev/ptym34", 11) == 0)
+ {
+{
+return dev_storage + 337;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case '2':
+ if (strncmp (KR_keyword, "/dev/ptym24", 11) == 0)
+ {
+{
+return dev_storage + 327;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case '1':
+ if (strncmp (KR_keyword, "/dev/ptym14", 11) == 0)
+ {
+{
+return dev_storage + 317;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ default:
{
return NULL;
@@ -36721,7 +36243,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst124", 11) == 0)
{
{
-return dev_storage + 230;
+return dev_storage + 231;
}
}
@@ -36736,7 +36258,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst114", 11) == 0)
{
{
-return dev_storage + 220;
+return dev_storage + 221;
}
}
@@ -36751,7 +36273,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/nst104", 11) == 0)
{
{
-return dev_storage + 210;
+return dev_storage + 211;
}
}
@@ -36859,7 +36381,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddx14", 11) == 0)
{
{
-return dev_storage + 2364;
+return dev_storage + 2430;
}
}
@@ -36874,7 +36396,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddw14", 11) == 0)
{
{
-return dev_storage + 2349;
+return dev_storage + 2415;
}
}
@@ -36889,7 +36411,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddv14", 11) == 0)
{
{
-return dev_storage + 2334;
+return dev_storage + 2400;
}
}
@@ -36904,7 +36426,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddu14", 11) == 0)
{
{
-return dev_storage + 2319;
+return dev_storage + 2385;
}
}
@@ -36919,7 +36441,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddt14", 11) == 0)
{
{
-return dev_storage + 2304;
+return dev_storage + 2370;
}
}
@@ -36934,7 +36456,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdds14", 11) == 0)
{
{
-return dev_storage + 2289;
+return dev_storage + 2355;
}
}
@@ -36949,7 +36471,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddr14", 11) == 0)
{
{
-return dev_storage + 2274;
+return dev_storage + 2340;
}
}
@@ -36964,7 +36486,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddq14", 11) == 0)
{
{
-return dev_storage + 2259;
+return dev_storage + 2325;
}
}
@@ -36979,7 +36501,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddp14", 11) == 0)
{
{
-return dev_storage + 2244;
+return dev_storage + 2310;
}
}
@@ -36994,7 +36516,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddo14", 11) == 0)
{
{
-return dev_storage + 2229;
+return dev_storage + 2295;
}
}
@@ -37009,7 +36531,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddn14", 11) == 0)
{
{
-return dev_storage + 2214;
+return dev_storage + 2280;
}
}
@@ -37024,7 +36546,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddm14", 11) == 0)
{
{
-return dev_storage + 2199;
+return dev_storage + 2265;
}
}
@@ -37039,7 +36561,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddl14", 11) == 0)
{
{
-return dev_storage + 2184;
+return dev_storage + 2250;
}
}
@@ -37054,7 +36576,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddk14", 11) == 0)
{
{
-return dev_storage + 2169;
+return dev_storage + 2235;
}
}
@@ -37069,7 +36591,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddj14", 11) == 0)
{
{
-return dev_storage + 2154;
+return dev_storage + 2220;
}
}
@@ -37084,7 +36606,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddi14", 11) == 0)
{
{
-return dev_storage + 2139;
+return dev_storage + 2205;
}
}
@@ -37099,7 +36621,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddh14", 11) == 0)
{
{
-return dev_storage + 2124;
+return dev_storage + 2190;
}
}
@@ -37114,7 +36636,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddg14", 11) == 0)
{
{
-return dev_storage + 2109;
+return dev_storage + 2175;
}
}
@@ -37129,7 +36651,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddf14", 11) == 0)
{
{
-return dev_storage + 2094;
+return dev_storage + 2160;
}
}
@@ -37144,7 +36666,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdde14", 11) == 0)
{
{
-return dev_storage + 2079;
+return dev_storage + 2145;
}
}
@@ -37159,7 +36681,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddd14", 11) == 0)
{
{
-return dev_storage + 2064;
+return dev_storage + 2130;
}
}
@@ -37174,7 +36696,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddc14", 11) == 0)
{
{
-return dev_storage + 2049;
+return dev_storage + 2115;
}
}
@@ -37189,7 +36711,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sddb14", 11) == 0)
{
{
-return dev_storage + 2034;
+return dev_storage + 2100;
}
}
@@ -37204,7 +36726,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdda14", 11) == 0)
{
{
-return dev_storage + 2019;
+return dev_storage + 2085;
}
}
@@ -37228,7 +36750,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcz14", 11) == 0)
{
{
-return dev_storage + 1980;
+return dev_storage + 2046;
}
}
@@ -37243,7 +36765,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcy14", 11) == 0)
{
{
-return dev_storage + 1965;
+return dev_storage + 2031;
}
}
@@ -37258,7 +36780,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcx14", 11) == 0)
{
{
-return dev_storage + 1950;
+return dev_storage + 2016;
}
}
@@ -37273,7 +36795,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcw14", 11) == 0)
{
{
-return dev_storage + 1935;
+return dev_storage + 2001;
}
}
@@ -37288,7 +36810,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcv14", 11) == 0)
{
{
-return dev_storage + 1920;
+return dev_storage + 1986;
}
}
@@ -37303,7 +36825,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcu14", 11) == 0)
{
{
-return dev_storage + 1905;
+return dev_storage + 1971;
}
}
@@ -37318,7 +36840,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdct14", 11) == 0)
{
{
-return dev_storage + 1890;
+return dev_storage + 1956;
}
}
@@ -37333,7 +36855,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcs14", 11) == 0)
{
{
-return dev_storage + 1875;
+return dev_storage + 1941;
}
}
@@ -37348,7 +36870,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcr14", 11) == 0)
{
{
-return dev_storage + 1860;
+return dev_storage + 1926;
}
}
@@ -37363,7 +36885,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcq14", 11) == 0)
{
{
-return dev_storage + 1845;
+return dev_storage + 1911;
}
}
@@ -37378,7 +36900,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcp14", 11) == 0)
{
{
-return dev_storage + 1830;
+return dev_storage + 1896;
}
}
@@ -37393,7 +36915,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdco14", 11) == 0)
{
{
-return dev_storage + 1815;
+return dev_storage + 1881;
}
}
@@ -37408,7 +36930,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcn14", 11) == 0)
{
{
-return dev_storage + 1800;
+return dev_storage + 1866;
}
}
@@ -37423,7 +36945,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcm14", 11) == 0)
{
{
-return dev_storage + 1785;
+return dev_storage + 1851;
}
}
@@ -37438,7 +36960,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcl14", 11) == 0)
{
{
-return dev_storage + 1770;
+return dev_storage + 1836;
}
}
@@ -37453,7 +36975,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdck14", 11) == 0)
{
{
-return dev_storage + 1755;
+return dev_storage + 1821;
}
}
@@ -37468,7 +36990,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcj14", 11) == 0)
{
{
-return dev_storage + 1740;
+return dev_storage + 1806;
}
}
@@ -37483,7 +37005,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdci14", 11) == 0)
{
{
-return dev_storage + 1725;
+return dev_storage + 1791;
}
}
@@ -37498,7 +37020,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdch14", 11) == 0)
{
{
-return dev_storage + 1710;
+return dev_storage + 1776;
}
}
@@ -37513,7 +37035,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcg14", 11) == 0)
{
{
-return dev_storage + 1695;
+return dev_storage + 1761;
}
}
@@ -37528,7 +37050,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcf14", 11) == 0)
{
{
-return dev_storage + 1680;
+return dev_storage + 1746;
}
}
@@ -37543,7 +37065,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdce14", 11) == 0)
{
{
-return dev_storage + 1665;
+return dev_storage + 1731;
}
}
@@ -37558,7 +37080,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcd14", 11) == 0)
{
{
-return dev_storage + 1650;
+return dev_storage + 1716;
}
}
@@ -37573,7 +37095,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcc14", 11) == 0)
{
{
-return dev_storage + 1635;
+return dev_storage + 1701;
}
}
@@ -37588,7 +37110,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdcb14", 11) == 0)
{
{
-return dev_storage + 1620;
+return dev_storage + 1686;
}
}
@@ -37603,7 +37125,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdca14", 11) == 0)
{
{
-return dev_storage + 1605;
+return dev_storage + 1671;
}
}
@@ -37627,7 +37149,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbz14", 11) == 0)
{
{
-return dev_storage + 1564;
+return dev_storage + 1630;
}
}
@@ -37642,7 +37164,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdby14", 11) == 0)
{
{
-return dev_storage + 1549;
+return dev_storage + 1615;
}
}
@@ -37657,7 +37179,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbx14", 11) == 0)
{
{
-return dev_storage + 1534;
+return dev_storage + 1600;
}
}
@@ -37672,7 +37194,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbw14", 11) == 0)
{
{
-return dev_storage + 1519;
+return dev_storage + 1585;
}
}
@@ -37687,7 +37209,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbv14", 11) == 0)
{
{
-return dev_storage + 1504;
+return dev_storage + 1570;
}
}
@@ -37702,7 +37224,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbu14", 11) == 0)
{
{
-return dev_storage + 1489;
+return dev_storage + 1555;
}
}
@@ -37717,7 +37239,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbt14", 11) == 0)
{
{
-return dev_storage + 1474;
+return dev_storage + 1540;
}
}
@@ -37732,7 +37254,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbs14", 11) == 0)
{
{
-return dev_storage + 1459;
+return dev_storage + 1525;
}
}
@@ -37747,7 +37269,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbr14", 11) == 0)
{
{
-return dev_storage + 1444;
+return dev_storage + 1510;
}
}
@@ -37762,7 +37284,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbq14", 11) == 0)
{
{
-return dev_storage + 1429;
+return dev_storage + 1495;
}
}
@@ -37777,7 +37299,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbp14", 11) == 0)
{
{
-return dev_storage + 1414;
+return dev_storage + 1480;
}
}
@@ -37792,7 +37314,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbo14", 11) == 0)
{
{
-return dev_storage + 1399;
+return dev_storage + 1465;
}
}
@@ -37807,7 +37329,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbn14", 11) == 0)
{
{
-return dev_storage + 1384;
+return dev_storage + 1450;
}
}
@@ -37822,7 +37344,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbm14", 11) == 0)
{
{
-return dev_storage + 1369;
+return dev_storage + 1435;
}
}
@@ -37837,7 +37359,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbl14", 11) == 0)
{
{
-return dev_storage + 1354;
+return dev_storage + 1420;
}
}
@@ -37852,7 +37374,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbk14", 11) == 0)
{
{
-return dev_storage + 1339;
+return dev_storage + 1405;
}
}
@@ -37867,7 +37389,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbj14", 11) == 0)
{
{
-return dev_storage + 1324;
+return dev_storage + 1390;
}
}
@@ -37882,7 +37404,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbi14", 11) == 0)
{
{
-return dev_storage + 1309;
+return dev_storage + 1375;
}
}
@@ -37897,7 +37419,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbh14", 11) == 0)
{
{
-return dev_storage + 1294;
+return dev_storage + 1360;
}
}
@@ -37912,7 +37434,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbg14", 11) == 0)
{
{
-return dev_storage + 1279;
+return dev_storage + 1345;
}
}
@@ -37927,7 +37449,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbf14", 11) == 0)
{
{
-return dev_storage + 1264;
+return dev_storage + 1330;
}
}
@@ -37942,7 +37464,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbe14", 11) == 0)
{
{
-return dev_storage + 1249;
+return dev_storage + 1315;
}
}
@@ -37957,7 +37479,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbd14", 11) == 0)
{
{
-return dev_storage + 1234;
+return dev_storage + 1300;
}
}
@@ -37972,7 +37494,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbc14", 11) == 0)
{
{
-return dev_storage + 1219;
+return dev_storage + 1285;
}
}
@@ -37987,7 +37509,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdbb14", 11) == 0)
{
{
-return dev_storage + 1204;
+return dev_storage + 1270;
}
}
@@ -38002,7 +37524,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdba14", 11) == 0)
{
{
-return dev_storage + 1189;
+return dev_storage + 1255;
}
}
@@ -38026,7 +37548,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaz14", 11) == 0)
{
{
-return dev_storage + 1148;
+return dev_storage + 1214;
}
}
@@ -38041,7 +37563,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sday14", 11) == 0)
{
{
-return dev_storage + 1133;
+return dev_storage + 1199;
}
}
@@ -38056,7 +37578,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdax14", 11) == 0)
{
{
-return dev_storage + 1118;
+return dev_storage + 1184;
}
}
@@ -38071,7 +37593,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaw14", 11) == 0)
{
{
-return dev_storage + 1103;
+return dev_storage + 1169;
}
}
@@ -38086,7 +37608,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdav14", 11) == 0)
{
{
-return dev_storage + 1088;
+return dev_storage + 1154;
}
}
@@ -38101,7 +37623,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdau14", 11) == 0)
{
{
-return dev_storage + 1073;
+return dev_storage + 1139;
}
}
@@ -38116,7 +37638,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdat14", 11) == 0)
{
{
-return dev_storage + 1058;
+return dev_storage + 1124;
}
}
@@ -38131,7 +37653,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdas14", 11) == 0)
{
{
-return dev_storage + 1043;
+return dev_storage + 1109;
}
}
@@ -38146,7 +37668,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdar14", 11) == 0)
{
{
-return dev_storage + 1028;
+return dev_storage + 1094;
}
}
@@ -38161,7 +37683,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaq14", 11) == 0)
{
{
-return dev_storage + 1013;
+return dev_storage + 1079;
}
}
@@ -38176,7 +37698,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdap14", 11) == 0)
{
{
-return dev_storage + 998;
+return dev_storage + 1064;
}
}
@@ -38191,7 +37713,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdao14", 11) == 0)
{
{
-return dev_storage + 983;
+return dev_storage + 1049;
}
}
@@ -38206,7 +37728,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdan14", 11) == 0)
{
{
-return dev_storage + 968;
+return dev_storage + 1034;
}
}
@@ -38221,7 +37743,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdam14", 11) == 0)
{
{
-return dev_storage + 953;
+return dev_storage + 1019;
}
}
@@ -38236,7 +37758,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdal14", 11) == 0)
{
{
-return dev_storage + 938;
+return dev_storage + 1004;
}
}
@@ -38251,7 +37773,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdak14", 11) == 0)
{
{
-return dev_storage + 923;
+return dev_storage + 989;
}
}
@@ -38266,7 +37788,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaj14", 11) == 0)
{
{
-return dev_storage + 908;
+return dev_storage + 974;
}
}
@@ -38281,7 +37803,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdai14", 11) == 0)
{
{
-return dev_storage + 893;
+return dev_storage + 959;
}
}
@@ -38296,7 +37818,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdah14", 11) == 0)
{
{
-return dev_storage + 878;
+return dev_storage + 944;
}
}
@@ -38311,7 +37833,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdag14", 11) == 0)
{
{
-return dev_storage + 863;
+return dev_storage + 929;
}
}
@@ -38326,7 +37848,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaf14", 11) == 0)
{
{
-return dev_storage + 848;
+return dev_storage + 914;
}
}
@@ -38341,7 +37863,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdae14", 11) == 0)
{
{
-return dev_storage + 833;
+return dev_storage + 899;
}
}
@@ -38356,7 +37878,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdad14", 11) == 0)
{
{
-return dev_storage + 818;
+return dev_storage + 884;
}
}
@@ -38371,7 +37893,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdac14", 11) == 0)
{
{
-return dev_storage + 803;
+return dev_storage + 869;
}
}
@@ -38386,7 +37908,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdab14", 11) == 0)
{
{
-return dev_storage + 788;
+return dev_storage + 854;
}
}
@@ -38401,7 +37923,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/sdaa14", 11) == 0)
{
{
-return dev_storage + 773;
+return dev_storage + 839;
}
}
@@ -38425,16 +37947,16 @@ return NULL;
}
}
case '3':
- switch (KR_keyword [7])
+ switch (KR_keyword [8])
{
- case 'y':
- switch (KR_keyword [9])
+ case 'z':
+ switch (KR_keyword [7])
{
- case '6':
- if (strncmp (KR_keyword, "/dev/ttyS63", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcz13", 11) == 0)
{
{
-return dev_storage + 2574;
+return dev_storage + 2045;
}
}
@@ -38445,11 +37967,11 @@ return NULL;
}
}
- case '5':
- if (strncmp (KR_keyword, "/dev/ttyS53", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbz13", 11) == 0)
{
{
-return dev_storage + 2564;
+return dev_storage + 1629;
}
}
@@ -38460,11 +37982,11 @@ return NULL;
}
}
- case '4':
- if (strncmp (KR_keyword, "/dev/ttyS43", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaz13", 11) == 0)
{
{
-return dev_storage + 2554;
+return dev_storage + 1213;
}
}
@@ -38475,11 +37997,20 @@ return NULL;
}
}
- case '3':
- if (strncmp (KR_keyword, "/dev/ttyS33", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'y':
+ switch (KR_keyword [7])
+ {
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcy13", 11) == 0)
{
{
-return dev_storage + 2544;
+return dev_storage + 2030;
}
}
@@ -38490,11 +38021,11 @@ return NULL;
}
}
- case '2':
- if (strncmp (KR_keyword, "/dev/ttyS23", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdby13", 11) == 0)
{
{
-return dev_storage + 2534;
+return dev_storage + 1614;
}
}
@@ -38505,11 +38036,11 @@ return NULL;
}
}
- case '1':
- if (strncmp (KR_keyword, "/dev/ttyS13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sday13", 11) == 0)
{
{
-return dev_storage + 2524;
+return dev_storage + 1198;
}
}
@@ -38526,14 +38057,14 @@ return NULL;
}
}
- case 't':
- switch (KR_keyword [9])
+ case 'x':
+ switch (KR_keyword [7])
{
- case '2':
- if (strncmp (KR_keyword, "/dev/nst123", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddx13", 11) == 0)
{
{
-return dev_storage + 229;
+return dev_storage + 2429;
}
}
@@ -38544,11 +38075,11 @@ return NULL;
}
}
- case '1':
- if (strncmp (KR_keyword, "/dev/nst113", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcx13", 11) == 0)
{
{
-return dev_storage + 219;
+return dev_storage + 2015;
}
}
@@ -38559,11 +38090,11 @@ return NULL;
}
}
- case '0':
- if (strncmp (KR_keyword, "/dev/nst103", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbx13", 11) == 0)
{
{
-return dev_storage + 209;
+return dev_storage + 1599;
}
}
@@ -38574,20 +38105,11 @@ return NULL;
}
}
- default:
-{
-return NULL;
-
-}
- }
- case 'n':
- switch (KR_keyword [9])
- {
- case '6':
- if (strncmp (KR_keyword, "/dev/cons63", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdax13", 11) == 0)
{
{
-return dev_storage + 83;
+return dev_storage + 1183;
}
}
@@ -38598,26 +38120,20 @@ return NULL;
}
}
- case '5':
- if (strncmp (KR_keyword, "/dev/cons53", 11) == 0)
- {
-{
-return dev_storage + 73;
-
-}
- }
- else
- {
+ default:
{
return NULL;
}
- }
- case '4':
- if (strncmp (KR_keyword, "/dev/cons43", 11) == 0)
+ }
+ case 'w':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddw13", 11) == 0)
{
{
-return dev_storage + 63;
+return dev_storage + 2414;
}
}
@@ -38628,11 +38144,11 @@ return NULL;
}
}
- case '3':
- if (strncmp (KR_keyword, "/dev/cons33", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcw13", 11) == 0)
{
{
-return dev_storage + 53;
+return dev_storage + 2000;
}
}
@@ -38643,11 +38159,11 @@ return NULL;
}
}
- case '2':
- if (strncmp (KR_keyword, "/dev/cons23", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbw13", 11) == 0)
{
{
-return dev_storage + 43;
+return dev_storage + 1584;
}
}
@@ -38658,11 +38174,11 @@ return NULL;
}
}
- case '1':
- if (strncmp (KR_keyword, "/dev/cons13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaw13", 11) == 0)
{
{
-return dev_storage + 33;
+return dev_storage + 1168;
}
}
@@ -38679,14 +38195,14 @@ return NULL;
}
}
- case 'd':
- switch (KR_keyword [8])
+ case 'v':
+ switch (KR_keyword [7])
{
- case 'x':
- if (strncmp (KR_keyword, "/dev/sddx13", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddv13", 11) == 0)
{
{
-return dev_storage + 2363;
+return dev_storage + 2399;
}
}
@@ -38697,11 +38213,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sddw13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcv13", 11) == 0)
{
{
-return dev_storage + 2348;
+return dev_storage + 1985;
}
}
@@ -38712,11 +38228,11 @@ return NULL;
}
}
- case 'v':
- if (strncmp (KR_keyword, "/dev/sddv13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbv13", 11) == 0)
{
{
-return dev_storage + 2333;
+return dev_storage + 1569;
}
}
@@ -38727,11 +38243,11 @@ return NULL;
}
}
- case 'u':
- if (strncmp (KR_keyword, "/dev/sddu13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdav13", 11) == 0)
{
{
-return dev_storage + 2318;
+return dev_storage + 1153;
}
}
@@ -38742,11 +38258,20 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sddt13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'u':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddu13", 11) == 0)
{
{
-return dev_storage + 2303;
+return dev_storage + 2384;
}
}
@@ -38757,11 +38282,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdds13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcu13", 11) == 0)
{
{
-return dev_storage + 2288;
+return dev_storage + 1970;
}
}
@@ -38772,11 +38297,11 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sddr13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbu13", 11) == 0)
{
{
-return dev_storage + 2273;
+return dev_storage + 1554;
}
}
@@ -38787,11 +38312,11 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sddq13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdau13", 11) == 0)
{
{
-return dev_storage + 2258;
+return dev_storage + 1138;
}
}
@@ -38802,11 +38327,20 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sddp13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 't':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddt13", 11) == 0)
{
{
-return dev_storage + 2243;
+return dev_storage + 2369;
}
}
@@ -38817,11 +38351,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sddo13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdct13", 11) == 0)
{
{
-return dev_storage + 2228;
+return dev_storage + 1955;
}
}
@@ -38832,11 +38366,11 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sddn13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbt13", 11) == 0)
{
{
-return dev_storage + 2213;
+return dev_storage + 1539;
}
}
@@ -38847,11 +38381,11 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sddm13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdat13", 11) == 0)
{
{
-return dev_storage + 2198;
+return dev_storage + 1123;
}
}
@@ -38862,11 +38396,20 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sddl13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 's':
+ switch (KR_keyword [9])
+ {
+ case '6':
+ if (strncmp (KR_keyword, "/dev/cons63", 11) == 0)
{
{
-return dev_storage + 2183;
+return dev_storage + 83;
}
}
@@ -38877,11 +38420,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sddk13", 11) == 0)
+ case '5':
+ if (strncmp (KR_keyword, "/dev/cons53", 11) == 0)
{
{
-return dev_storage + 2168;
+return dev_storage + 73;
}
}
@@ -38892,11 +38435,11 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sddj13", 11) == 0)
+ case '4':
+ if (strncmp (KR_keyword, "/dev/cons43", 11) == 0)
{
{
-return dev_storage + 2153;
+return dev_storage + 63;
}
}
@@ -38907,11 +38450,11 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sddi13", 11) == 0)
+ case '3':
+ if (strncmp (KR_keyword, "/dev/cons33", 11) == 0)
{
{
-return dev_storage + 2138;
+return dev_storage + 53;
}
}
@@ -38922,11 +38465,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sddh13", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/cons23", 11) == 0)
{
{
-return dev_storage + 2123;
+return dev_storage + 43;
}
}
@@ -38937,56 +38480,104 @@ return NULL;
}
}
- case 'g':
- if (strncmp (KR_keyword, "/dev/sddg13", 11) == 0)
+ case '1':
+ switch (KR_keyword [7])
{
+ case 'n':
+ if (strncmp (KR_keyword, "/dev/cons13", 11) == 0)
+ {
{
-return dev_storage + 2108;
+return dev_storage + 33;
}
- }
- else
- {
+ }
+ else
+ {
{
return NULL;
}
- }
- case 'f':
- if (strncmp (KR_keyword, "/dev/sddf13", 11) == 0)
- {
+ }
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sdds13", 11) == 0)
+ {
{
-return dev_storage + 2093;
+return dev_storage + 2354;
}
- }
- else
- {
+ }
+ else
+ {
{
return NULL;
}
- }
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdde13", 11) == 0)
- {
+ }
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcs13", 11) == 0)
+ {
{
-return dev_storage + 2078;
+return dev_storage + 1940;
}
- }
- else
- {
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbs13", 11) == 0)
+ {
+{
+return dev_storage + 1524;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdas13", 11) == 0)
+ {
+{
+return dev_storage + 1108;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ default:
{
return NULL;
}
}
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'r':
+ switch (KR_keyword [7])
+ {
case 'd':
- if (strncmp (KR_keyword, "/dev/sddd13", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sddr13", 11) == 0)
{
{
-return dev_storage + 2063;
+return dev_storage + 2339;
}
}
@@ -38998,10 +38589,10 @@ return NULL;
}
}
case 'c':
- if (strncmp (KR_keyword, "/dev/sddc13", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdcr13", 11) == 0)
{
{
-return dev_storage + 2048;
+return dev_storage + 1925;
}
}
@@ -39013,10 +38604,10 @@ return NULL;
}
}
case 'b':
- if (strncmp (KR_keyword, "/dev/sddb13", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdbr13", 11) == 0)
{
{
-return dev_storage + 2033;
+return dev_storage + 1509;
}
}
@@ -39028,10 +38619,10 @@ return NULL;
}
}
case 'a':
- if (strncmp (KR_keyword, "/dev/sdda13", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdar13", 11) == 0)
{
{
-return dev_storage + 2018;
+return dev_storage + 1093;
}
}
@@ -39048,14 +38639,14 @@ return NULL;
}
}
- case 'c':
- switch (KR_keyword [8])
+ case 'q':
+ switch (KR_keyword [7])
{
- case 'z':
- if (strncmp (KR_keyword, "/dev/sdcz13", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddq13", 11) == 0)
{
{
-return dev_storage + 1979;
+return dev_storage + 2324;
}
}
@@ -39066,11 +38657,11 @@ return NULL;
}
}
- case 'y':
- if (strncmp (KR_keyword, "/dev/sdcy13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcq13", 11) == 0)
{
{
-return dev_storage + 1964;
+return dev_storage + 1910;
}
}
@@ -39081,11 +38672,11 @@ return NULL;
}
}
- case 'x':
- if (strncmp (KR_keyword, "/dev/sdcx13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbq13", 11) == 0)
{
{
-return dev_storage + 1949;
+return dev_storage + 1494;
}
}
@@ -39096,11 +38687,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sdcw13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaq13", 11) == 0)
{
{
-return dev_storage + 1934;
+return dev_storage + 1078;
}
}
@@ -39111,11 +38702,20 @@ return NULL;
}
}
- case 'v':
- if (strncmp (KR_keyword, "/dev/sdcv13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddp13", 11) == 0)
{
{
-return dev_storage + 1919;
+return dev_storage + 2309;
}
}
@@ -39126,11 +38726,11 @@ return NULL;
}
}
- case 'u':
- if (strncmp (KR_keyword, "/dev/sdcu13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcp13", 11) == 0)
{
{
-return dev_storage + 1904;
+return dev_storage + 1895;
}
}
@@ -39141,11 +38741,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sdct13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbp13", 11) == 0)
{
{
-return dev_storage + 1889;
+return dev_storage + 1479;
}
}
@@ -39156,11 +38756,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdcs13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdap13", 11) == 0)
{
{
-return dev_storage + 1874;
+return dev_storage + 1063;
}
}
@@ -39171,11 +38771,20 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sdcr13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'o':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddo13", 11) == 0)
{
{
-return dev_storage + 1859;
+return dev_storage + 2294;
}
}
@@ -39186,11 +38795,11 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sdcq13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdco13", 11) == 0)
{
{
-return dev_storage + 1844;
+return dev_storage + 1880;
}
}
@@ -39201,11 +38810,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sdcp13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbo13", 11) == 0)
{
{
-return dev_storage + 1829;
+return dev_storage + 1464;
}
}
@@ -39216,11 +38825,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sdco13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdao13", 11) == 0)
{
{
-return dev_storage + 1814;
+return dev_storage + 1048;
}
}
@@ -39231,11 +38840,20 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sdcn13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'n':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddn13", 11) == 0)
{
{
-return dev_storage + 1799;
+return dev_storage + 2279;
}
}
@@ -39246,11 +38864,11 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sdcm13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcn13", 11) == 0)
{
{
-return dev_storage + 1784;
+return dev_storage + 1865;
}
}
@@ -39261,11 +38879,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sdcl13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbn13", 11) == 0)
{
{
-return dev_storage + 1769;
+return dev_storage + 1449;
}
}
@@ -39276,11 +38894,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sdck13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdan13", 11) == 0)
{
{
-return dev_storage + 1754;
+return dev_storage + 1033;
}
}
@@ -39291,11 +38909,20 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sdcj13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'm':
+ switch (KR_keyword [9])
+ {
+ case '6':
+ if (strncmp (KR_keyword, "/dev/ptym63", 11) == 0)
{
{
-return dev_storage + 1739;
+return dev_storage + 366;
}
}
@@ -39306,11 +38933,11 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sdci13", 11) == 0)
+ case '5':
+ if (strncmp (KR_keyword, "/dev/ptym53", 11) == 0)
{
{
-return dev_storage + 1724;
+return dev_storage + 356;
}
}
@@ -39321,11 +38948,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sdch13", 11) == 0)
+ case '4':
+ if (strncmp (KR_keyword, "/dev/ptym43", 11) == 0)
{
{
-return dev_storage + 1709;
+return dev_storage + 346;
}
}
@@ -39336,11 +38963,11 @@ return NULL;
}
}
- case 'g':
- if (strncmp (KR_keyword, "/dev/sdcg13", 11) == 0)
+ case '3':
+ if (strncmp (KR_keyword, "/dev/ptym33", 11) == 0)
{
{
-return dev_storage + 1694;
+return dev_storage + 336;
}
}
@@ -39351,11 +38978,11 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sdcf13", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/ptym23", 11) == 0)
{
{
-return dev_storage + 1679;
+return dev_storage + 326;
}
}
@@ -39366,26 +38993,104 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdce13", 11) == 0)
+ case '1':
+ switch (KR_keyword [7])
{
+ case 'y':
+ if (strncmp (KR_keyword, "/dev/ptym13", 11) == 0)
+ {
{
-return dev_storage + 1664;
+return dev_storage + 316;
}
- }
- else
- {
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddm13", 11) == 0)
+ {
+{
+return dev_storage + 2264;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcm13", 11) == 0)
+ {
+{
+return dev_storage + 1850;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbm13", 11) == 0)
+ {
+{
+return dev_storage + 1434;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdam13", 11) == 0)
+ {
+{
+return dev_storage + 1018;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ default:
{
return NULL;
}
}
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'l':
+ switch (KR_keyword [7])
+ {
case 'd':
- if (strncmp (KR_keyword, "/dev/sdcd13", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sddl13", 11) == 0)
{
{
-return dev_storage + 1649;
+return dev_storage + 2249;
}
}
@@ -39397,10 +39102,10 @@ return NULL;
}
}
case 'c':
- if (strncmp (KR_keyword, "/dev/sdcc13", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdcl13", 11) == 0)
{
{
-return dev_storage + 1634;
+return dev_storage + 1835;
}
}
@@ -39412,10 +39117,10 @@ return NULL;
}
}
case 'b':
- if (strncmp (KR_keyword, "/dev/sdcb13", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdbl13", 11) == 0)
{
{
-return dev_storage + 1619;
+return dev_storage + 1419;
}
}
@@ -39427,10 +39132,10 @@ return NULL;
}
}
case 'a':
- if (strncmp (KR_keyword, "/dev/sdca13", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdal13", 11) == 0)
{
{
-return dev_storage + 1604;
+return dev_storage + 1003;
}
}
@@ -39447,14 +39152,14 @@ return NULL;
}
}
- case 'b':
- switch (KR_keyword [8])
+ case 'k':
+ switch (KR_keyword [7])
{
- case 'z':
- if (strncmp (KR_keyword, "/dev/sdbz13", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddk13", 11) == 0)
{
{
-return dev_storage + 1563;
+return dev_storage + 2234;
}
}
@@ -39465,11 +39170,11 @@ return NULL;
}
}
- case 'y':
- if (strncmp (KR_keyword, "/dev/sdby13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdck13", 11) == 0)
{
{
-return dev_storage + 1548;
+return dev_storage + 1820;
}
}
@@ -39480,11 +39185,11 @@ return NULL;
}
}
- case 'x':
- if (strncmp (KR_keyword, "/dev/sdbx13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbk13", 11) == 0)
{
{
-return dev_storage + 1533;
+return dev_storage + 1404;
}
}
@@ -39495,11 +39200,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sdbw13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdak13", 11) == 0)
{
{
-return dev_storage + 1518;
+return dev_storage + 988;
}
}
@@ -39510,26 +39215,20 @@ return NULL;
}
}
- case 'v':
- if (strncmp (KR_keyword, "/dev/sdbv13", 11) == 0)
- {
-{
-return dev_storage + 1503;
-
-}
- }
- else
- {
+ default:
{
return NULL;
}
- }
- case 'u':
- if (strncmp (KR_keyword, "/dev/sdbu13", 11) == 0)
+ }
+ case 'j':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddj13", 11) == 0)
{
{
-return dev_storage + 1488;
+return dev_storage + 2219;
}
}
@@ -39540,11 +39239,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sdbt13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcj13", 11) == 0)
{
{
-return dev_storage + 1473;
+return dev_storage + 1805;
}
}
@@ -39555,11 +39254,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdbs13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbj13", 11) == 0)
{
{
-return dev_storage + 1458;
+return dev_storage + 1389;
}
}
@@ -39570,11 +39269,11 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sdbr13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaj13", 11) == 0)
{
{
-return dev_storage + 1443;
+return dev_storage + 973;
}
}
@@ -39585,11 +39284,20 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sdbq13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'i':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddi13", 11) == 0)
{
{
-return dev_storage + 1428;
+return dev_storage + 2204;
}
}
@@ -39600,11 +39308,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sdbp13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdci13", 11) == 0)
{
{
-return dev_storage + 1413;
+return dev_storage + 1790;
}
}
@@ -39615,11 +39323,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sdbo13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbi13", 11) == 0)
{
{
-return dev_storage + 1398;
+return dev_storage + 1374;
}
}
@@ -39630,11 +39338,11 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sdbn13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdai13", 11) == 0)
{
{
-return dev_storage + 1383;
+return dev_storage + 958;
}
}
@@ -39645,11 +39353,20 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sdbm13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'h':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddh13", 11) == 0)
{
{
-return dev_storage + 1368;
+return dev_storage + 2189;
}
}
@@ -39660,11 +39377,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sdbl13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdch13", 11) == 0)
{
{
-return dev_storage + 1353;
+return dev_storage + 1775;
}
}
@@ -39675,11 +39392,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sdbk13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbh13", 11) == 0)
{
{
-return dev_storage + 1338;
+return dev_storage + 1359;
}
}
@@ -39690,11 +39407,11 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sdbj13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdah13", 11) == 0)
{
{
-return dev_storage + 1323;
+return dev_storage + 943;
}
}
@@ -39705,11 +39422,20 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sdbi13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'g':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddg13", 11) == 0)
{
{
-return dev_storage + 1308;
+return dev_storage + 2174;
}
}
@@ -39720,11 +39446,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sdbh13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcg13", 11) == 0)
{
{
-return dev_storage + 1293;
+return dev_storage + 1760;
}
}
@@ -39735,11 +39461,11 @@ return NULL;
}
}
- case 'g':
+ case 'b':
if (strncmp (KR_keyword, "/dev/sdbg13", 11) == 0)
{
{
-return dev_storage + 1278;
+return dev_storage + 1344;
}
}
@@ -39750,11 +39476,11 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sdbf13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdag13", 11) == 0)
{
{
-return dev_storage + 1263;
+return dev_storage + 928;
}
}
@@ -39765,26 +39491,20 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdbe13", 11) == 0)
- {
-{
-return dev_storage + 1248;
-
-}
- }
- else
- {
+ default:
{
return NULL;
}
- }
+ }
+ case 'f':
+ switch (KR_keyword [7])
+ {
case 'd':
- if (strncmp (KR_keyword, "/dev/sdbd13", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sddf13", 11) == 0)
{
{
-return dev_storage + 1233;
+return dev_storage + 2159;
}
}
@@ -39796,10 +39516,10 @@ return NULL;
}
}
case 'c':
- if (strncmp (KR_keyword, "/dev/sdbc13", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdcf13", 11) == 0)
{
{
-return dev_storage + 1218;
+return dev_storage + 1745;
}
}
@@ -39811,10 +39531,10 @@ return NULL;
}
}
case 'b':
- if (strncmp (KR_keyword, "/dev/sdbb13", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdbf13", 11) == 0)
{
{
-return dev_storage + 1203;
+return dev_storage + 1329;
}
}
@@ -39826,10 +39546,10 @@ return NULL;
}
}
case 'a':
- if (strncmp (KR_keyword, "/dev/sdba13", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdaf13", 11) == 0)
{
{
-return dev_storage + 1188;
+return dev_storage + 913;
}
}
@@ -39846,14 +39566,14 @@ return NULL;
}
}
- case 'a':
- switch (KR_keyword [8])
+ case 'e':
+ switch (KR_keyword [7])
{
- case 'z':
- if (strncmp (KR_keyword, "/dev/sdaz13", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sdde13", 11) == 0)
{
{
-return dev_storage + 1147;
+return dev_storage + 2144;
}
}
@@ -39864,11 +39584,11 @@ return NULL;
}
}
- case 'y':
- if (strncmp (KR_keyword, "/dev/sday13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdce13", 11) == 0)
{
{
-return dev_storage + 1132;
+return dev_storage + 1730;
}
}
@@ -39879,11 +39599,11 @@ return NULL;
}
}
- case 'x':
- if (strncmp (KR_keyword, "/dev/sdax13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbe13", 11) == 0)
{
{
-return dev_storage + 1117;
+return dev_storage + 1314;
}
}
@@ -39894,11 +39614,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sdaw13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdae13", 11) == 0)
{
{
-return dev_storage + 1102;
+return dev_storage + 898;
}
}
@@ -39909,11 +39629,20 @@ return NULL;
}
}
- case 'v':
- if (strncmp (KR_keyword, "/dev/sdav13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'd':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddd13", 11) == 0)
{
{
-return dev_storage + 1087;
+return dev_storage + 2129;
}
}
@@ -39924,11 +39653,11 @@ return NULL;
}
}
- case 'u':
- if (strncmp (KR_keyword, "/dev/sdau13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcd13", 11) == 0)
{
{
-return dev_storage + 1072;
+return dev_storage + 1715;
}
}
@@ -39939,11 +39668,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sdat13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbd13", 11) == 0)
{
{
-return dev_storage + 1057;
+return dev_storage + 1299;
}
}
@@ -39954,11 +39683,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdas13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdad13", 11) == 0)
{
{
-return dev_storage + 1042;
+return dev_storage + 883;
}
}
@@ -39969,11 +39698,20 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sdar13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'c':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddc13", 11) == 0)
{
{
-return dev_storage + 1027;
+return dev_storage + 2114;
}
}
@@ -39984,11 +39722,11 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sdaq13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcc13", 11) == 0)
{
{
-return dev_storage + 1012;
+return dev_storage + 1700;
}
}
@@ -39999,11 +39737,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sdap13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbc13", 11) == 0)
{
{
-return dev_storage + 997;
+return dev_storage + 1284;
}
}
@@ -40014,11 +39752,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sdao13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdac13", 11) == 0)
{
{
-return dev_storage + 982;
+return dev_storage + 868;
}
}
@@ -40029,11 +39767,20 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sdan13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'b':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddb13", 11) == 0)
{
{
-return dev_storage + 967;
+return dev_storage + 2099;
}
}
@@ -40044,11 +39791,11 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sdam13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcb13", 11) == 0)
{
{
-return dev_storage + 952;
+return dev_storage + 1685;
}
}
@@ -40059,11 +39806,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sdal13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbb13", 11) == 0)
{
{
-return dev_storage + 937;
+return dev_storage + 1269;
}
}
@@ -40074,11 +39821,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sdak13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdab13", 11) == 0)
{
{
-return dev_storage + 922;
+return dev_storage + 853;
}
}
@@ -40089,11 +39836,20 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sdaj13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'a':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sdda13", 11) == 0)
{
{
-return dev_storage + 907;
+return dev_storage + 2084;
}
}
@@ -40104,11 +39860,11 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sdai13", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdca13", 11) == 0)
{
{
-return dev_storage + 892;
+return dev_storage + 1670;
}
}
@@ -40119,11 +39875,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sdah13", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdba13", 11) == 0)
{
{
-return dev_storage + 877;
+return dev_storage + 1254;
}
}
@@ -40134,11 +39890,11 @@ return NULL;
}
}
- case 'g':
- if (strncmp (KR_keyword, "/dev/sdag13", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaa13", 11) == 0)
{
{
-return dev_storage + 862;
+return dev_storage + 838;
}
}
@@ -40149,11 +39905,20 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sdaf13", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'S':
+ switch (KR_keyword [9])
+ {
+ case '6':
+ if (strncmp (KR_keyword, "/dev/ttyS63", 11) == 0)
{
{
-return dev_storage + 847;
+return dev_storage + 2640;
}
}
@@ -40164,11 +39929,11 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdae13", 11) == 0)
+ case '5':
+ if (strncmp (KR_keyword, "/dev/ttyS53", 11) == 0)
{
{
-return dev_storage + 832;
+return dev_storage + 2630;
}
}
@@ -40179,11 +39944,11 @@ return NULL;
}
}
- case 'd':
- if (strncmp (KR_keyword, "/dev/sdad13", 11) == 0)
+ case '4':
+ if (strncmp (KR_keyword, "/dev/ttyS43", 11) == 0)
{
{
-return dev_storage + 817;
+return dev_storage + 2620;
}
}
@@ -40194,11 +39959,11 @@ return NULL;
}
}
- case 'c':
- if (strncmp (KR_keyword, "/dev/sdac13", 11) == 0)
+ case '3':
+ if (strncmp (KR_keyword, "/dev/ttyS33", 11) == 0)
{
{
-return dev_storage + 802;
+return dev_storage + 2610;
}
}
@@ -40209,11 +39974,11 @@ return NULL;
}
}
- case 'b':
- if (strncmp (KR_keyword, "/dev/sdab13", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/ttyS23", 11) == 0)
{
{
-return dev_storage + 787;
+return dev_storage + 2600;
}
}
@@ -40224,11 +39989,11 @@ return NULL;
}
}
- case 'a':
- if (strncmp (KR_keyword, "/dev/sdaa13", 11) == 0)
+ case '1':
+ if (strncmp (KR_keyword, "/dev/ttyS13", 11) == 0)
{
{
-return dev_storage + 772;
+return dev_storage + 2590;
}
}
@@ -40245,23 +40010,14 @@ return NULL;
}
}
- default:
-{
-return NULL;
-
-}
- }
- case '2':
- switch (KR_keyword [7])
- {
- case 'y':
+ case '1':
switch (KR_keyword [9])
{
- case '6':
- if (strncmp (KR_keyword, "/dev/ttyS62", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/nst123", 11) == 0)
{
{
-return dev_storage + 2573;
+return dev_storage + 230;
}
}
@@ -40272,11 +40028,11 @@ return NULL;
}
}
- case '5':
- if (strncmp (KR_keyword, "/dev/ttyS52", 11) == 0)
+ case '1':
+ if (strncmp (KR_keyword, "/dev/nst113", 11) == 0)
{
{
-return dev_storage + 2563;
+return dev_storage + 220;
}
}
@@ -40287,11 +40043,11 @@ return NULL;
}
}
- case '4':
- if (strncmp (KR_keyword, "/dev/ttyS42", 11) == 0)
+ case '0':
+ if (strncmp (KR_keyword, "/dev/nst103", 11) == 0)
{
{
-return dev_storage + 2553;
+return dev_storage + 210;
}
}
@@ -40302,11 +40058,29 @@ return NULL;
}
}
- case '3':
- if (strncmp (KR_keyword, "/dev/ttyS32", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ default:
+{
+return NULL;
+
+}
+ }
+ case '2':
+ switch (KR_keyword [8])
+ {
+ case 'z':
+ switch (KR_keyword [7])
+ {
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcz12", 11) == 0)
{
{
-return dev_storage + 2543;
+return dev_storage + 2044;
}
}
@@ -40317,11 +40091,11 @@ return NULL;
}
}
- case '2':
- if (strncmp (KR_keyword, "/dev/ttyS22", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbz12", 11) == 0)
{
{
-return dev_storage + 2533;
+return dev_storage + 1628;
}
}
@@ -40332,11 +40106,11 @@ return NULL;
}
}
- case '1':
- if (strncmp (KR_keyword, "/dev/ttyS12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaz12", 11) == 0)
{
{
-return dev_storage + 2523;
+return dev_storage + 1212;
}
}
@@ -40353,14 +40127,14 @@ return NULL;
}
}
- case 't':
- switch (KR_keyword [9])
+ case 'y':
+ switch (KR_keyword [7])
{
- case '2':
- if (strncmp (KR_keyword, "/dev/nst122", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcy12", 11) == 0)
{
{
-return dev_storage + 228;
+return dev_storage + 2029;
}
}
@@ -40371,11 +40145,11 @@ return NULL;
}
}
- case '1':
- if (strncmp (KR_keyword, "/dev/nst112", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdby12", 11) == 0)
{
{
-return dev_storage + 218;
+return dev_storage + 1613;
}
}
@@ -40386,11 +40160,11 @@ return NULL;
}
}
- case '0':
- if (strncmp (KR_keyword, "/dev/nst102", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sday12", 11) == 0)
{
{
-return dev_storage + 208;
+return dev_storage + 1197;
}
}
@@ -40407,14 +40181,14 @@ return NULL;
}
}
- case 'n':
- switch (KR_keyword [9])
+ case 'x':
+ switch (KR_keyword [7])
{
- case '6':
- if (strncmp (KR_keyword, "/dev/cons62", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddx12", 11) == 0)
{
{
-return dev_storage + 82;
+return dev_storage + 2428;
}
}
@@ -40425,11 +40199,11 @@ return NULL;
}
}
- case '5':
- if (strncmp (KR_keyword, "/dev/cons52", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcx12", 11) == 0)
{
{
-return dev_storage + 72;
+return dev_storage + 2014;
}
}
@@ -40440,11 +40214,11 @@ return NULL;
}
}
- case '4':
- if (strncmp (KR_keyword, "/dev/cons42", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbx12", 11) == 0)
{
{
-return dev_storage + 62;
+return dev_storage + 1598;
}
}
@@ -40455,11 +40229,11 @@ return NULL;
}
}
- case '3':
- if (strncmp (KR_keyword, "/dev/cons32", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdax12", 11) == 0)
{
{
-return dev_storage + 52;
+return dev_storage + 1182;
}
}
@@ -40470,11 +40244,20 @@ return NULL;
}
}
- case '2':
- if (strncmp (KR_keyword, "/dev/cons22", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'w':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddw12", 11) == 0)
{
{
-return dev_storage + 42;
+return dev_storage + 2413;
}
}
@@ -40485,11 +40268,11 @@ return NULL;
}
}
- case '1':
- if (strncmp (KR_keyword, "/dev/cons12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcw12", 11) == 0)
{
{
-return dev_storage + 32;
+return dev_storage + 1999;
}
}
@@ -40500,20 +40283,11 @@ return NULL;
}
}
- default:
-{
-return NULL;
-
-}
- }
- case 'd':
- switch (KR_keyword [8])
- {
- case 'x':
- if (strncmp (KR_keyword, "/dev/sddx12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbw12", 11) == 0)
{
{
-return dev_storage + 2362;
+return dev_storage + 1583;
}
}
@@ -40524,11 +40298,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sddw12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaw12", 11) == 0)
{
{
-return dev_storage + 2347;
+return dev_storage + 1167;
}
}
@@ -40539,11 +40313,20 @@ return NULL;
}
}
- case 'v':
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'v':
+ switch (KR_keyword [7])
+ {
+ case 'd':
if (strncmp (KR_keyword, "/dev/sddv12", 11) == 0)
{
{
-return dev_storage + 2332;
+return dev_storage + 2398;
}
}
@@ -40554,11 +40337,11 @@ return NULL;
}
}
- case 'u':
- if (strncmp (KR_keyword, "/dev/sddu12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcv12", 11) == 0)
{
{
-return dev_storage + 2317;
+return dev_storage + 1984;
}
}
@@ -40569,11 +40352,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sddt12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbv12", 11) == 0)
{
{
-return dev_storage + 2302;
+return dev_storage + 1568;
}
}
@@ -40584,11 +40367,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdds12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdav12", 11) == 0)
{
{
-return dev_storage + 2287;
+return dev_storage + 1152;
}
}
@@ -40599,11 +40382,20 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sddr12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'u':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddu12", 11) == 0)
{
{
-return dev_storage + 2272;
+return dev_storage + 2383;
}
}
@@ -40614,11 +40406,11 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sddq12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcu12", 11) == 0)
{
{
-return dev_storage + 2257;
+return dev_storage + 1969;
}
}
@@ -40629,11 +40421,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sddp12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbu12", 11) == 0)
{
{
-return dev_storage + 2242;
+return dev_storage + 1553;
}
}
@@ -40644,11 +40436,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sddo12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdau12", 11) == 0)
{
{
-return dev_storage + 2227;
+return dev_storage + 1137;
}
}
@@ -40659,11 +40451,20 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sddn12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 't':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddt12", 11) == 0)
{
{
-return dev_storage + 2212;
+return dev_storage + 2368;
}
}
@@ -40674,11 +40475,11 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sddm12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdct12", 11) == 0)
{
{
-return dev_storage + 2197;
+return dev_storage + 1954;
}
}
@@ -40689,11 +40490,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sddl12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbt12", 11) == 0)
{
{
-return dev_storage + 2182;
+return dev_storage + 1538;
}
}
@@ -40704,11 +40505,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sddk12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdat12", 11) == 0)
{
{
-return dev_storage + 2167;
+return dev_storage + 1122;
}
}
@@ -40719,11 +40520,20 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sddj12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 's':
+ switch (KR_keyword [9])
+ {
+ case '6':
+ if (strncmp (KR_keyword, "/dev/cons62", 11) == 0)
{
{
-return dev_storage + 2152;
+return dev_storage + 82;
}
}
@@ -40734,11 +40544,11 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sddi12", 11) == 0)
+ case '5':
+ if (strncmp (KR_keyword, "/dev/cons52", 11) == 0)
{
{
-return dev_storage + 2137;
+return dev_storage + 72;
}
}
@@ -40749,11 +40559,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sddh12", 11) == 0)
+ case '4':
+ if (strncmp (KR_keyword, "/dev/cons42", 11) == 0)
{
{
-return dev_storage + 2122;
+return dev_storage + 62;
}
}
@@ -40764,11 +40574,11 @@ return NULL;
}
}
- case 'g':
- if (strncmp (KR_keyword, "/dev/sddg12", 11) == 0)
+ case '3':
+ if (strncmp (KR_keyword, "/dev/cons32", 11) == 0)
{
{
-return dev_storage + 2107;
+return dev_storage + 52;
}
}
@@ -40779,11 +40589,11 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sddf12", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/cons22", 11) == 0)
{
{
-return dev_storage + 2092;
+return dev_storage + 42;
}
}
@@ -40794,26 +40604,104 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdde12", 11) == 0)
+ case '1':
+ switch (KR_keyword [7])
{
+ case 'n':
+ if (strncmp (KR_keyword, "/dev/cons12", 11) == 0)
+ {
{
-return dev_storage + 2077;
+return dev_storage + 32;
}
- }
- else
- {
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sdds12", 11) == 0)
+ {
+{
+return dev_storage + 2353;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcs12", 11) == 0)
+ {
+{
+return dev_storage + 1939;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbs12", 11) == 0)
+ {
+{
+return dev_storage + 1523;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdas12", 11) == 0)
+ {
+{
+return dev_storage + 1107;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ default:
{
return NULL;
}
}
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'r':
+ switch (KR_keyword [7])
+ {
case 'd':
- if (strncmp (KR_keyword, "/dev/sddd12", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sddr12", 11) == 0)
{
{
-return dev_storage + 2062;
+return dev_storage + 2338;
}
}
@@ -40825,10 +40713,10 @@ return NULL;
}
}
case 'c':
- if (strncmp (KR_keyword, "/dev/sddc12", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdcr12", 11) == 0)
{
{
-return dev_storage + 2047;
+return dev_storage + 1924;
}
}
@@ -40840,10 +40728,10 @@ return NULL;
}
}
case 'b':
- if (strncmp (KR_keyword, "/dev/sddb12", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdbr12", 11) == 0)
{
{
-return dev_storage + 2032;
+return dev_storage + 1508;
}
}
@@ -40855,10 +40743,10 @@ return NULL;
}
}
case 'a':
- if (strncmp (KR_keyword, "/dev/sdda12", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdar12", 11) == 0)
{
{
-return dev_storage + 2017;
+return dev_storage + 1092;
}
}
@@ -40875,14 +40763,14 @@ return NULL;
}
}
- case 'c':
- switch (KR_keyword [8])
+ case 'q':
+ switch (KR_keyword [7])
{
- case 'z':
- if (strncmp (KR_keyword, "/dev/sdcz12", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddq12", 11) == 0)
{
{
-return dev_storage + 1978;
+return dev_storage + 2323;
}
}
@@ -40893,11 +40781,11 @@ return NULL;
}
}
- case 'y':
- if (strncmp (KR_keyword, "/dev/sdcy12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcq12", 11) == 0)
{
{
-return dev_storage + 1963;
+return dev_storage + 1909;
}
}
@@ -40908,11 +40796,11 @@ return NULL;
}
}
- case 'x':
- if (strncmp (KR_keyword, "/dev/sdcx12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbq12", 11) == 0)
{
{
-return dev_storage + 1948;
+return dev_storage + 1493;
}
}
@@ -40923,11 +40811,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sdcw12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaq12", 11) == 0)
{
{
-return dev_storage + 1933;
+return dev_storage + 1077;
}
}
@@ -40938,11 +40826,20 @@ return NULL;
}
}
- case 'v':
- if (strncmp (KR_keyword, "/dev/sdcv12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddp12", 11) == 0)
{
{
-return dev_storage + 1918;
+return dev_storage + 2308;
}
}
@@ -40953,11 +40850,11 @@ return NULL;
}
}
- case 'u':
- if (strncmp (KR_keyword, "/dev/sdcu12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcp12", 11) == 0)
{
{
-return dev_storage + 1903;
+return dev_storage + 1894;
}
}
@@ -40968,11 +40865,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sdct12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbp12", 11) == 0)
{
{
-return dev_storage + 1888;
+return dev_storage + 1478;
}
}
@@ -40983,11 +40880,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdcs12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdap12", 11) == 0)
{
{
-return dev_storage + 1873;
+return dev_storage + 1062;
}
}
@@ -40998,11 +40895,20 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sdcr12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'o':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddo12", 11) == 0)
{
{
-return dev_storage + 1858;
+return dev_storage + 2293;
}
}
@@ -41013,11 +40919,11 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sdcq12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdco12", 11) == 0)
{
{
-return dev_storage + 1843;
+return dev_storage + 1879;
}
}
@@ -41028,11 +40934,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sdcp12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbo12", 11) == 0)
{
{
-return dev_storage + 1828;
+return dev_storage + 1463;
}
}
@@ -41043,11 +40949,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sdco12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdao12", 11) == 0)
{
{
-return dev_storage + 1813;
+return dev_storage + 1047;
}
}
@@ -41058,11 +40964,20 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sdcn12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'n':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddn12", 11) == 0)
{
{
-return dev_storage + 1798;
+return dev_storage + 2278;
}
}
@@ -41073,11 +40988,11 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sdcm12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcn12", 11) == 0)
{
{
-return dev_storage + 1783;
+return dev_storage + 1864;
}
}
@@ -41088,11 +41003,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sdcl12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbn12", 11) == 0)
{
{
-return dev_storage + 1768;
+return dev_storage + 1448;
}
}
@@ -41103,11 +41018,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sdck12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdan12", 11) == 0)
{
{
-return dev_storage + 1753;
+return dev_storage + 1032;
}
}
@@ -41118,11 +41033,20 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sdcj12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'm':
+ switch (KR_keyword [9])
+ {
+ case '6':
+ if (strncmp (KR_keyword, "/dev/ptym62", 11) == 0)
{
{
-return dev_storage + 1738;
+return dev_storage + 365;
}
}
@@ -41133,11 +41057,11 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sdci12", 11) == 0)
+ case '5':
+ if (strncmp (KR_keyword, "/dev/ptym52", 11) == 0)
{
{
-return dev_storage + 1723;
+return dev_storage + 355;
}
}
@@ -41148,11 +41072,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sdch12", 11) == 0)
+ case '4':
+ if (strncmp (KR_keyword, "/dev/ptym42", 11) == 0)
{
{
-return dev_storage + 1708;
+return dev_storage + 345;
}
}
@@ -41163,11 +41087,11 @@ return NULL;
}
}
- case 'g':
- if (strncmp (KR_keyword, "/dev/sdcg12", 11) == 0)
+ case '3':
+ if (strncmp (KR_keyword, "/dev/ptym32", 11) == 0)
{
{
-return dev_storage + 1693;
+return dev_storage + 335;
}
}
@@ -41178,11 +41102,11 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sdcf12", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/ptym22", 11) == 0)
{
{
-return dev_storage + 1678;
+return dev_storage + 325;
}
}
@@ -41193,26 +41117,104 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdce12", 11) == 0)
+ case '1':
+ switch (KR_keyword [7])
{
+ case 'y':
+ if (strncmp (KR_keyword, "/dev/ptym12", 11) == 0)
+ {
{
-return dev_storage + 1663;
+return dev_storage + 315;
}
- }
- else
- {
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddm12", 11) == 0)
+ {
+{
+return dev_storage + 2263;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcm12", 11) == 0)
+ {
+{
+return dev_storage + 1849;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbm12", 11) == 0)
+ {
+{
+return dev_storage + 1433;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdam12", 11) == 0)
+ {
+{
+return dev_storage + 1017;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ default:
{
return NULL;
}
}
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'l':
+ switch (KR_keyword [7])
+ {
case 'd':
- if (strncmp (KR_keyword, "/dev/sdcd12", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sddl12", 11) == 0)
{
{
-return dev_storage + 1648;
+return dev_storage + 2248;
}
}
@@ -41224,10 +41226,10 @@ return NULL;
}
}
case 'c':
- if (strncmp (KR_keyword, "/dev/sdcc12", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdcl12", 11) == 0)
{
{
-return dev_storage + 1633;
+return dev_storage + 1834;
}
}
@@ -41239,10 +41241,10 @@ return NULL;
}
}
case 'b':
- if (strncmp (KR_keyword, "/dev/sdcb12", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdbl12", 11) == 0)
{
{
-return dev_storage + 1618;
+return dev_storage + 1418;
}
}
@@ -41254,10 +41256,10 @@ return NULL;
}
}
case 'a':
- if (strncmp (KR_keyword, "/dev/sdca12", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdal12", 11) == 0)
{
{
-return dev_storage + 1603;
+return dev_storage + 1002;
}
}
@@ -41274,14 +41276,14 @@ return NULL;
}
}
- case 'b':
- switch (KR_keyword [8])
+ case 'k':
+ switch (KR_keyword [7])
{
- case 'z':
- if (strncmp (KR_keyword, "/dev/sdbz12", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddk12", 11) == 0)
{
{
-return dev_storage + 1562;
+return dev_storage + 2233;
}
}
@@ -41292,11 +41294,11 @@ return NULL;
}
}
- case 'y':
- if (strncmp (KR_keyword, "/dev/sdby12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdck12", 11) == 0)
{
{
-return dev_storage + 1547;
+return dev_storage + 1819;
}
}
@@ -41307,11 +41309,11 @@ return NULL;
}
}
- case 'x':
- if (strncmp (KR_keyword, "/dev/sdbx12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbk12", 11) == 0)
{
{
-return dev_storage + 1532;
+return dev_storage + 1403;
}
}
@@ -41322,11 +41324,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sdbw12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdak12", 11) == 0)
{
{
-return dev_storage + 1517;
+return dev_storage + 987;
}
}
@@ -41337,26 +41339,20 @@ return NULL;
}
}
- case 'v':
- if (strncmp (KR_keyword, "/dev/sdbv12", 11) == 0)
- {
-{
-return dev_storage + 1502;
-
-}
- }
- else
- {
+ default:
{
return NULL;
}
- }
- case 'u':
- if (strncmp (KR_keyword, "/dev/sdbu12", 11) == 0)
+ }
+ case 'j':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddj12", 11) == 0)
{
{
-return dev_storage + 1487;
+return dev_storage + 2218;
}
}
@@ -41367,11 +41363,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sdbt12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcj12", 11) == 0)
{
{
-return dev_storage + 1472;
+return dev_storage + 1804;
}
}
@@ -41382,11 +41378,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdbs12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbj12", 11) == 0)
{
{
-return dev_storage + 1457;
+return dev_storage + 1388;
}
}
@@ -41397,11 +41393,11 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sdbr12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaj12", 11) == 0)
{
{
-return dev_storage + 1442;
+return dev_storage + 972;
}
}
@@ -41412,11 +41408,20 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sdbq12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'i':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddi12", 11) == 0)
{
{
-return dev_storage + 1427;
+return dev_storage + 2203;
}
}
@@ -41427,11 +41432,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sdbp12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdci12", 11) == 0)
{
{
-return dev_storage + 1412;
+return dev_storage + 1789;
}
}
@@ -41442,11 +41447,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sdbo12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbi12", 11) == 0)
{
{
-return dev_storage + 1397;
+return dev_storage + 1373;
}
}
@@ -41457,11 +41462,11 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sdbn12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdai12", 11) == 0)
{
{
-return dev_storage + 1382;
+return dev_storage + 957;
}
}
@@ -41472,11 +41477,20 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sdbm12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'h':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddh12", 11) == 0)
{
{
-return dev_storage + 1367;
+return dev_storage + 2188;
}
}
@@ -41487,11 +41501,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sdbl12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdch12", 11) == 0)
{
{
-return dev_storage + 1352;
+return dev_storage + 1774;
}
}
@@ -41502,11 +41516,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sdbk12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbh12", 11) == 0)
{
{
-return dev_storage + 1337;
+return dev_storage + 1358;
}
}
@@ -41517,11 +41531,11 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sdbj12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdah12", 11) == 0)
{
{
-return dev_storage + 1322;
+return dev_storage + 942;
}
}
@@ -41532,11 +41546,20 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sdbi12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'g':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddg12", 11) == 0)
{
{
-return dev_storage + 1307;
+return dev_storage + 2173;
}
}
@@ -41547,11 +41570,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sdbh12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcg12", 11) == 0)
{
{
-return dev_storage + 1292;
+return dev_storage + 1759;
}
}
@@ -41562,11 +41585,11 @@ return NULL;
}
}
- case 'g':
+ case 'b':
if (strncmp (KR_keyword, "/dev/sdbg12", 11) == 0)
{
{
-return dev_storage + 1277;
+return dev_storage + 1343;
}
}
@@ -41577,11 +41600,11 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sdbf12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdag12", 11) == 0)
{
{
-return dev_storage + 1262;
+return dev_storage + 927;
}
}
@@ -41592,26 +41615,20 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdbe12", 11) == 0)
- {
-{
-return dev_storage + 1247;
-
-}
- }
- else
- {
+ default:
{
return NULL;
}
- }
+ }
+ case 'f':
+ switch (KR_keyword [7])
+ {
case 'd':
- if (strncmp (KR_keyword, "/dev/sdbd12", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sddf12", 11) == 0)
{
{
-return dev_storage + 1232;
+return dev_storage + 2158;
}
}
@@ -41623,10 +41640,10 @@ return NULL;
}
}
case 'c':
- if (strncmp (KR_keyword, "/dev/sdbc12", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdcf12", 11) == 0)
{
{
-return dev_storage + 1217;
+return dev_storage + 1744;
}
}
@@ -41638,10 +41655,10 @@ return NULL;
}
}
case 'b':
- if (strncmp (KR_keyword, "/dev/sdbb12", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdbf12", 11) == 0)
{
{
-return dev_storage + 1202;
+return dev_storage + 1328;
}
}
@@ -41653,10 +41670,10 @@ return NULL;
}
}
case 'a':
- if (strncmp (KR_keyword, "/dev/sdba12", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdaf12", 11) == 0)
{
{
-return dev_storage + 1187;
+return dev_storage + 912;
}
}
@@ -41673,14 +41690,14 @@ return NULL;
}
}
- case 'a':
- switch (KR_keyword [8])
+ case 'e':
+ switch (KR_keyword [7])
{
- case 'z':
- if (strncmp (KR_keyword, "/dev/sdaz12", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sdde12", 11) == 0)
{
{
-return dev_storage + 1146;
+return dev_storage + 2143;
}
}
@@ -41691,11 +41708,11 @@ return NULL;
}
}
- case 'y':
- if (strncmp (KR_keyword, "/dev/sday12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdce12", 11) == 0)
{
{
-return dev_storage + 1131;
+return dev_storage + 1729;
}
}
@@ -41706,11 +41723,11 @@ return NULL;
}
}
- case 'x':
- if (strncmp (KR_keyword, "/dev/sdax12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbe12", 11) == 0)
{
{
-return dev_storage + 1116;
+return dev_storage + 1313;
}
}
@@ -41721,11 +41738,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sdaw12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdae12", 11) == 0)
{
{
-return dev_storage + 1101;
+return dev_storage + 897;
}
}
@@ -41736,11 +41753,20 @@ return NULL;
}
}
- case 'v':
- if (strncmp (KR_keyword, "/dev/sdav12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'd':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddd12", 11) == 0)
{
{
-return dev_storage + 1086;
+return dev_storage + 2128;
}
}
@@ -41751,11 +41777,11 @@ return NULL;
}
}
- case 'u':
- if (strncmp (KR_keyword, "/dev/sdau12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcd12", 11) == 0)
{
{
-return dev_storage + 1071;
+return dev_storage + 1714;
}
}
@@ -41766,11 +41792,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sdat12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbd12", 11) == 0)
{
{
-return dev_storage + 1056;
+return dev_storage + 1298;
}
}
@@ -41781,11 +41807,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdas12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdad12", 11) == 0)
{
{
-return dev_storage + 1041;
+return dev_storage + 882;
}
}
@@ -41796,11 +41822,20 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sdar12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'c':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddc12", 11) == 0)
{
{
-return dev_storage + 1026;
+return dev_storage + 2113;
}
}
@@ -41811,11 +41846,11 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sdaq12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcc12", 11) == 0)
{
{
-return dev_storage + 1011;
+return dev_storage + 1699;
}
}
@@ -41826,11 +41861,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sdap12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbc12", 11) == 0)
{
{
-return dev_storage + 996;
+return dev_storage + 1283;
}
}
@@ -41841,11 +41876,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sdao12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdac12", 11) == 0)
{
{
-return dev_storage + 981;
+return dev_storage + 867;
}
}
@@ -41856,11 +41891,20 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sdan12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'b':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddb12", 11) == 0)
{
{
-return dev_storage + 966;
+return dev_storage + 2098;
}
}
@@ -41871,11 +41915,11 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sdam12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcb12", 11) == 0)
{
{
-return dev_storage + 951;
+return dev_storage + 1684;
}
}
@@ -41886,11 +41930,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sdal12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbb12", 11) == 0)
{
{
-return dev_storage + 936;
+return dev_storage + 1268;
}
}
@@ -41901,11 +41945,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sdak12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdab12", 11) == 0)
{
{
-return dev_storage + 921;
+return dev_storage + 852;
}
}
@@ -41916,11 +41960,20 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sdaj12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'a':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sdda12", 11) == 0)
{
{
-return dev_storage + 906;
+return dev_storage + 2083;
}
}
@@ -41931,11 +41984,11 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sdai12", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdca12", 11) == 0)
{
{
-return dev_storage + 891;
+return dev_storage + 1669;
}
}
@@ -41946,11 +41999,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sdah12", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdba12", 11) == 0)
{
{
-return dev_storage + 876;
+return dev_storage + 1253;
}
}
@@ -41961,11 +42014,11 @@ return NULL;
}
}
- case 'g':
- if (strncmp (KR_keyword, "/dev/sdag12", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaa12", 11) == 0)
{
{
-return dev_storage + 861;
+return dev_storage + 837;
}
}
@@ -41976,11 +42029,20 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sdaf12", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'S':
+ switch (KR_keyword [9])
+ {
+ case '6':
+ if (strncmp (KR_keyword, "/dev/ttyS62", 11) == 0)
{
{
-return dev_storage + 846;
+return dev_storage + 2639;
}
}
@@ -41991,11 +42053,11 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdae12", 11) == 0)
+ case '5':
+ if (strncmp (KR_keyword, "/dev/ttyS52", 11) == 0)
{
{
-return dev_storage + 831;
+return dev_storage + 2629;
}
}
@@ -42006,11 +42068,11 @@ return NULL;
}
}
- case 'd':
- if (strncmp (KR_keyword, "/dev/sdad12", 11) == 0)
+ case '4':
+ if (strncmp (KR_keyword, "/dev/ttyS42", 11) == 0)
{
{
-return dev_storage + 816;
+return dev_storage + 2619;
}
}
@@ -42021,11 +42083,11 @@ return NULL;
}
}
- case 'c':
- if (strncmp (KR_keyword, "/dev/sdac12", 11) == 0)
+ case '3':
+ if (strncmp (KR_keyword, "/dev/ttyS32", 11) == 0)
{
{
-return dev_storage + 801;
+return dev_storage + 2609;
}
}
@@ -42036,11 +42098,11 @@ return NULL;
}
}
- case 'b':
- if (strncmp (KR_keyword, "/dev/sdab12", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/ttyS22", 11) == 0)
{
{
-return dev_storage + 786;
+return dev_storage + 2599;
}
}
@@ -42051,11 +42113,11 @@ return NULL;
}
}
- case 'a':
- if (strncmp (KR_keyword, "/dev/sdaa12", 11) == 0)
+ case '1':
+ if (strncmp (KR_keyword, "/dev/ttyS12", 11) == 0)
{
{
-return dev_storage + 771;
+return dev_storage + 2589;
}
}
@@ -42072,23 +42134,14 @@ return NULL;
}
}
- default:
-{
-return NULL;
-
-}
- }
- case '1':
- switch (KR_keyword [7])
- {
- case 'y':
+ case '1':
switch (KR_keyword [9])
{
- case '6':
- if (strncmp (KR_keyword, "/dev/ttyS61", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/nst122", 11) == 0)
{
{
-return dev_storage + 2572;
+return dev_storage + 229;
}
}
@@ -42099,11 +42152,11 @@ return NULL;
}
}
- case '5':
- if (strncmp (KR_keyword, "/dev/ttyS51", 11) == 0)
+ case '1':
+ if (strncmp (KR_keyword, "/dev/nst112", 11) == 0)
{
{
-return dev_storage + 2562;
+return dev_storage + 219;
}
}
@@ -42114,11 +42167,11 @@ return NULL;
}
}
- case '4':
- if (strncmp (KR_keyword, "/dev/ttyS41", 11) == 0)
+ case '0':
+ if (strncmp (KR_keyword, "/dev/nst102", 11) == 0)
{
{
-return dev_storage + 2552;
+return dev_storage + 209;
}
}
@@ -42129,11 +42182,29 @@ return NULL;
}
}
- case '3':
- if (strncmp (KR_keyword, "/dev/ttyS31", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ default:
+{
+return NULL;
+
+}
+ }
+ case '1':
+ switch (KR_keyword [8])
+ {
+ case 'z':
+ switch (KR_keyword [7])
+ {
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcz11", 11) == 0)
{
{
-return dev_storage + 2542;
+return dev_storage + 2043;
}
}
@@ -42144,11 +42215,11 @@ return NULL;
}
}
- case '2':
- if (strncmp (KR_keyword, "/dev/ttyS21", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbz11", 11) == 0)
{
{
-return dev_storage + 2532;
+return dev_storage + 1627;
}
}
@@ -42159,11 +42230,11 @@ return NULL;
}
}
- case '1':
- if (strncmp (KR_keyword, "/dev/ttyS11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaz11", 11) == 0)
{
{
-return dev_storage + 2522;
+return dev_storage + 1211;
}
}
@@ -42180,14 +42251,14 @@ return NULL;
}
}
- case 't':
- switch (KR_keyword [9])
+ case 'y':
+ switch (KR_keyword [7])
{
- case '2':
- if (strncmp (KR_keyword, "/dev/nst121", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcy11", 11) == 0)
{
{
-return dev_storage + 227;
+return dev_storage + 2028;
}
}
@@ -42198,11 +42269,11 @@ return NULL;
}
}
- case '1':
- if (strncmp (KR_keyword, "/dev/nst111", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdby11", 11) == 0)
{
{
-return dev_storage + 217;
+return dev_storage + 1612;
}
}
@@ -42213,11 +42284,11 @@ return NULL;
}
}
- case '0':
- if (strncmp (KR_keyword, "/dev/nst101", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sday11", 11) == 0)
{
{
-return dev_storage + 207;
+return dev_storage + 1196;
}
}
@@ -42234,14 +42305,14 @@ return NULL;
}
}
- case 'n':
- switch (KR_keyword [9])
+ case 'x':
+ switch (KR_keyword [7])
{
- case '6':
- if (strncmp (KR_keyword, "/dev/cons61", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddx11", 11) == 0)
{
{
-return dev_storage + 81;
+return dev_storage + 2427;
}
}
@@ -42252,11 +42323,11 @@ return NULL;
}
}
- case '5':
- if (strncmp (KR_keyword, "/dev/cons51", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcx11", 11) == 0)
{
{
-return dev_storage + 71;
+return dev_storage + 2013;
}
}
@@ -42267,11 +42338,11 @@ return NULL;
}
}
- case '4':
- if (strncmp (KR_keyword, "/dev/cons41", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbx11", 11) == 0)
{
{
-return dev_storage + 61;
+return dev_storage + 1597;
}
}
@@ -42282,11 +42353,11 @@ return NULL;
}
}
- case '3':
- if (strncmp (KR_keyword, "/dev/cons31", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdax11", 11) == 0)
{
{
-return dev_storage + 51;
+return dev_storage + 1181;
}
}
@@ -42297,11 +42368,20 @@ return NULL;
}
}
- case '2':
- if (strncmp (KR_keyword, "/dev/cons21", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'w':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddw11", 11) == 0)
{
{
-return dev_storage + 41;
+return dev_storage + 2412;
}
}
@@ -42312,11 +42392,11 @@ return NULL;
}
}
- case '1':
- if (strncmp (KR_keyword, "/dev/cons11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcw11", 11) == 0)
{
{
-return dev_storage + 31;
+return dev_storage + 1998;
}
}
@@ -42327,20 +42407,11 @@ return NULL;
}
}
- default:
-{
-return NULL;
-
-}
- }
- case 'd':
- switch (KR_keyword [8])
- {
- case 'x':
- if (strncmp (KR_keyword, "/dev/sddx11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbw11", 11) == 0)
{
{
-return dev_storage + 2361;
+return dev_storage + 1582;
}
}
@@ -42351,11 +42422,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sddw11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaw11", 11) == 0)
{
{
-return dev_storage + 2346;
+return dev_storage + 1166;
}
}
@@ -42366,11 +42437,20 @@ return NULL;
}
}
- case 'v':
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'v':
+ switch (KR_keyword [7])
+ {
+ case 'd':
if (strncmp (KR_keyword, "/dev/sddv11", 11) == 0)
{
{
-return dev_storage + 2331;
+return dev_storage + 2397;
}
}
@@ -42381,11 +42461,11 @@ return NULL;
}
}
- case 'u':
- if (strncmp (KR_keyword, "/dev/sddu11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcv11", 11) == 0)
{
{
-return dev_storage + 2316;
+return dev_storage + 1983;
}
}
@@ -42396,11 +42476,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sddt11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbv11", 11) == 0)
{
{
-return dev_storage + 2301;
+return dev_storage + 1567;
}
}
@@ -42411,11 +42491,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdds11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdav11", 11) == 0)
{
{
-return dev_storage + 2286;
+return dev_storage + 1151;
}
}
@@ -42426,11 +42506,20 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sddr11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'u':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddu11", 11) == 0)
{
{
-return dev_storage + 2271;
+return dev_storage + 2382;
}
}
@@ -42441,11 +42530,11 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sddq11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcu11", 11) == 0)
{
{
-return dev_storage + 2256;
+return dev_storage + 1968;
}
}
@@ -42456,11 +42545,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sddp11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbu11", 11) == 0)
{
{
-return dev_storage + 2241;
+return dev_storage + 1552;
}
}
@@ -42471,11 +42560,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sddo11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdau11", 11) == 0)
{
{
-return dev_storage + 2226;
+return dev_storage + 1136;
}
}
@@ -42486,11 +42575,20 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sddn11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 't':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddt11", 11) == 0)
{
{
-return dev_storage + 2211;
+return dev_storage + 2367;
}
}
@@ -42501,11 +42599,11 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sddm11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdct11", 11) == 0)
{
{
-return dev_storage + 2196;
+return dev_storage + 1953;
}
}
@@ -42516,11 +42614,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sddl11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbt11", 11) == 0)
{
{
-return dev_storage + 2181;
+return dev_storage + 1537;
}
}
@@ -42531,11 +42629,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sddk11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdat11", 11) == 0)
{
{
-return dev_storage + 2166;
+return dev_storage + 1121;
}
}
@@ -42546,11 +42644,20 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sddj11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 's':
+ switch (KR_keyword [9])
+ {
+ case '6':
+ if (strncmp (KR_keyword, "/dev/cons61", 11) == 0)
{
{
-return dev_storage + 2151;
+return dev_storage + 81;
}
}
@@ -42561,11 +42668,11 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sddi11", 11) == 0)
+ case '5':
+ if (strncmp (KR_keyword, "/dev/cons51", 11) == 0)
{
{
-return dev_storage + 2136;
+return dev_storage + 71;
}
}
@@ -42576,11 +42683,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sddh11", 11) == 0)
+ case '4':
+ if (strncmp (KR_keyword, "/dev/cons41", 11) == 0)
{
{
-return dev_storage + 2121;
+return dev_storage + 61;
}
}
@@ -42591,11 +42698,11 @@ return NULL;
}
}
- case 'g':
- if (strncmp (KR_keyword, "/dev/sddg11", 11) == 0)
+ case '3':
+ if (strncmp (KR_keyword, "/dev/cons31", 11) == 0)
{
{
-return dev_storage + 2106;
+return dev_storage + 51;
}
}
@@ -42606,11 +42713,11 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sddf11", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/cons21", 11) == 0)
{
{
-return dev_storage + 2091;
+return dev_storage + 41;
}
}
@@ -42621,26 +42728,104 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdde11", 11) == 0)
+ case '1':
+ switch (KR_keyword [7])
{
+ case 'n':
+ if (strncmp (KR_keyword, "/dev/cons11", 11) == 0)
+ {
{
-return dev_storage + 2076;
+return dev_storage + 31;
}
- }
- else
- {
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sdds11", 11) == 0)
+ {
+{
+return dev_storage + 2352;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcs11", 11) == 0)
+ {
+{
+return dev_storage + 1938;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbs11", 11) == 0)
+ {
+{
+return dev_storage + 1522;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdas11", 11) == 0)
+ {
+{
+return dev_storage + 1106;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ default:
{
return NULL;
}
}
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'r':
+ switch (KR_keyword [7])
+ {
case 'd':
- if (strncmp (KR_keyword, "/dev/sddd11", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sddr11", 11) == 0)
{
{
-return dev_storage + 2061;
+return dev_storage + 2337;
}
}
@@ -42652,10 +42837,10 @@ return NULL;
}
}
case 'c':
- if (strncmp (KR_keyword, "/dev/sddc11", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdcr11", 11) == 0)
{
{
-return dev_storage + 2046;
+return dev_storage + 1923;
}
}
@@ -42667,10 +42852,10 @@ return NULL;
}
}
case 'b':
- if (strncmp (KR_keyword, "/dev/sddb11", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdbr11", 11) == 0)
{
{
-return dev_storage + 2031;
+return dev_storage + 1507;
}
}
@@ -42682,10 +42867,10 @@ return NULL;
}
}
case 'a':
- if (strncmp (KR_keyword, "/dev/sdda11", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdar11", 11) == 0)
{
{
-return dev_storage + 2016;
+return dev_storage + 1091;
}
}
@@ -42702,14 +42887,14 @@ return NULL;
}
}
- case 'c':
- switch (KR_keyword [8])
+ case 'q':
+ switch (KR_keyword [7])
{
- case 'z':
- if (strncmp (KR_keyword, "/dev/sdcz11", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddq11", 11) == 0)
{
{
-return dev_storage + 1977;
+return dev_storage + 2322;
}
}
@@ -42720,11 +42905,11 @@ return NULL;
}
}
- case 'y':
- if (strncmp (KR_keyword, "/dev/sdcy11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcq11", 11) == 0)
{
{
-return dev_storage + 1962;
+return dev_storage + 1908;
}
}
@@ -42735,11 +42920,11 @@ return NULL;
}
}
- case 'x':
- if (strncmp (KR_keyword, "/dev/sdcx11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbq11", 11) == 0)
{
{
-return dev_storage + 1947;
+return dev_storage + 1492;
}
}
@@ -42750,11 +42935,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sdcw11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaq11", 11) == 0)
{
{
-return dev_storage + 1932;
+return dev_storage + 1076;
}
}
@@ -42765,11 +42950,20 @@ return NULL;
}
}
- case 'v':
- if (strncmp (KR_keyword, "/dev/sdcv11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddp11", 11) == 0)
{
{
-return dev_storage + 1917;
+return dev_storage + 2307;
}
}
@@ -42780,11 +42974,11 @@ return NULL;
}
}
- case 'u':
- if (strncmp (KR_keyword, "/dev/sdcu11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcp11", 11) == 0)
{
{
-return dev_storage + 1902;
+return dev_storage + 1893;
}
}
@@ -42795,11 +42989,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sdct11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbp11", 11) == 0)
{
{
-return dev_storage + 1887;
+return dev_storage + 1477;
}
}
@@ -42810,11 +43004,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdcs11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdap11", 11) == 0)
{
{
-return dev_storage + 1872;
+return dev_storage + 1061;
}
}
@@ -42825,11 +43019,20 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sdcr11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'o':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddo11", 11) == 0)
{
{
-return dev_storage + 1857;
+return dev_storage + 2292;
}
}
@@ -42840,11 +43043,11 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sdcq11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdco11", 11) == 0)
{
{
-return dev_storage + 1842;
+return dev_storage + 1878;
}
}
@@ -42855,11 +43058,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sdcp11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbo11", 11) == 0)
{
{
-return dev_storage + 1827;
+return dev_storage + 1462;
}
}
@@ -42870,11 +43073,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sdco11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdao11", 11) == 0)
{
{
-return dev_storage + 1812;
+return dev_storage + 1046;
}
}
@@ -42885,11 +43088,20 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sdcn11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'n':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddn11", 11) == 0)
{
{
-return dev_storage + 1797;
+return dev_storage + 2277;
}
}
@@ -42900,11 +43112,11 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sdcm11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcn11", 11) == 0)
{
{
-return dev_storage + 1782;
+return dev_storage + 1863;
}
}
@@ -42915,11 +43127,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sdcl11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbn11", 11) == 0)
{
{
-return dev_storage + 1767;
+return dev_storage + 1447;
}
}
@@ -42930,11 +43142,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sdck11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdan11", 11) == 0)
{
{
-return dev_storage + 1752;
+return dev_storage + 1031;
}
}
@@ -42945,11 +43157,20 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sdcj11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'm':
+ switch (KR_keyword [9])
+ {
+ case '6':
+ if (strncmp (KR_keyword, "/dev/ptym61", 11) == 0)
{
{
-return dev_storage + 1737;
+return dev_storage + 364;
}
}
@@ -42960,11 +43181,11 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sdci11", 11) == 0)
+ case '5':
+ if (strncmp (KR_keyword, "/dev/ptym51", 11) == 0)
{
{
-return dev_storage + 1722;
+return dev_storage + 354;
}
}
@@ -42975,11 +43196,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sdch11", 11) == 0)
+ case '4':
+ if (strncmp (KR_keyword, "/dev/ptym41", 11) == 0)
{
{
-return dev_storage + 1707;
+return dev_storage + 344;
}
}
@@ -42990,11 +43211,11 @@ return NULL;
}
}
- case 'g':
- if (strncmp (KR_keyword, "/dev/sdcg11", 11) == 0)
+ case '3':
+ if (strncmp (KR_keyword, "/dev/ptym31", 11) == 0)
{
{
-return dev_storage + 1692;
+return dev_storage + 334;
}
}
@@ -43005,11 +43226,11 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sdcf11", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/ptym21", 11) == 0)
{
{
-return dev_storage + 1677;
+return dev_storage + 324;
}
}
@@ -43020,26 +43241,104 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdce11", 11) == 0)
+ case '1':
+ switch (KR_keyword [7])
{
+ case 'y':
+ if (strncmp (KR_keyword, "/dev/ptym11", 11) == 0)
+ {
{
-return dev_storage + 1662;
+return dev_storage + 314;
}
- }
- else
- {
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddm11", 11) == 0)
+ {
+{
+return dev_storage + 2262;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcm11", 11) == 0)
+ {
+{
+return dev_storage + 1848;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbm11", 11) == 0)
+ {
+{
+return dev_storage + 1432;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdam11", 11) == 0)
+ {
+{
+return dev_storage + 1016;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ default:
{
return NULL;
}
}
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'l':
+ switch (KR_keyword [7])
+ {
case 'd':
- if (strncmp (KR_keyword, "/dev/sdcd11", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sddl11", 11) == 0)
{
{
-return dev_storage + 1647;
+return dev_storage + 2247;
}
}
@@ -43051,10 +43350,10 @@ return NULL;
}
}
case 'c':
- if (strncmp (KR_keyword, "/dev/sdcc11", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdcl11", 11) == 0)
{
{
-return dev_storage + 1632;
+return dev_storage + 1833;
}
}
@@ -43066,10 +43365,10 @@ return NULL;
}
}
case 'b':
- if (strncmp (KR_keyword, "/dev/sdcb11", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdbl11", 11) == 0)
{
{
-return dev_storage + 1617;
+return dev_storage + 1417;
}
}
@@ -43081,10 +43380,10 @@ return NULL;
}
}
case 'a':
- if (strncmp (KR_keyword, "/dev/sdca11", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdal11", 11) == 0)
{
{
-return dev_storage + 1602;
+return dev_storage + 1001;
}
}
@@ -43101,14 +43400,14 @@ return NULL;
}
}
- case 'b':
- switch (KR_keyword [8])
+ case 'k':
+ switch (KR_keyword [7])
{
- case 'z':
- if (strncmp (KR_keyword, "/dev/sdbz11", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddk11", 11) == 0)
{
{
-return dev_storage + 1561;
+return dev_storage + 2232;
}
}
@@ -43119,11 +43418,11 @@ return NULL;
}
}
- case 'y':
- if (strncmp (KR_keyword, "/dev/sdby11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdck11", 11) == 0)
{
{
-return dev_storage + 1546;
+return dev_storage + 1818;
}
}
@@ -43134,11 +43433,11 @@ return NULL;
}
}
- case 'x':
- if (strncmp (KR_keyword, "/dev/sdbx11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbk11", 11) == 0)
{
{
-return dev_storage + 1531;
+return dev_storage + 1402;
}
}
@@ -43149,11 +43448,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sdbw11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdak11", 11) == 0)
{
{
-return dev_storage + 1516;
+return dev_storage + 986;
}
}
@@ -43164,26 +43463,20 @@ return NULL;
}
}
- case 'v':
- if (strncmp (KR_keyword, "/dev/sdbv11", 11) == 0)
- {
-{
-return dev_storage + 1501;
-
-}
- }
- else
- {
+ default:
{
return NULL;
}
- }
- case 'u':
- if (strncmp (KR_keyword, "/dev/sdbu11", 11) == 0)
+ }
+ case 'j':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddj11", 11) == 0)
{
{
-return dev_storage + 1486;
+return dev_storage + 2217;
}
}
@@ -43194,11 +43487,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sdbt11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcj11", 11) == 0)
{
{
-return dev_storage + 1471;
+return dev_storage + 1803;
}
}
@@ -43209,11 +43502,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdbs11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbj11", 11) == 0)
{
{
-return dev_storage + 1456;
+return dev_storage + 1387;
}
}
@@ -43224,11 +43517,11 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sdbr11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaj11", 11) == 0)
{
{
-return dev_storage + 1441;
+return dev_storage + 971;
}
}
@@ -43239,11 +43532,20 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sdbq11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'i':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddi11", 11) == 0)
{
{
-return dev_storage + 1426;
+return dev_storage + 2202;
}
}
@@ -43254,11 +43556,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sdbp11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdci11", 11) == 0)
{
{
-return dev_storage + 1411;
+return dev_storage + 1788;
}
}
@@ -43269,11 +43571,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sdbo11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbi11", 11) == 0)
{
{
-return dev_storage + 1396;
+return dev_storage + 1372;
}
}
@@ -43284,11 +43586,11 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sdbn11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdai11", 11) == 0)
{
{
-return dev_storage + 1381;
+return dev_storage + 956;
}
}
@@ -43299,11 +43601,20 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sdbm11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'h':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddh11", 11) == 0)
{
{
-return dev_storage + 1366;
+return dev_storage + 2187;
}
}
@@ -43314,11 +43625,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sdbl11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdch11", 11) == 0)
{
{
-return dev_storage + 1351;
+return dev_storage + 1773;
}
}
@@ -43329,11 +43640,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sdbk11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbh11", 11) == 0)
{
{
-return dev_storage + 1336;
+return dev_storage + 1357;
}
}
@@ -43344,11 +43655,11 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sdbj11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdah11", 11) == 0)
{
{
-return dev_storage + 1321;
+return dev_storage + 941;
}
}
@@ -43359,11 +43670,20 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sdbi11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'g':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddg11", 11) == 0)
{
{
-return dev_storage + 1306;
+return dev_storage + 2172;
}
}
@@ -43374,11 +43694,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sdbh11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcg11", 11) == 0)
{
{
-return dev_storage + 1291;
+return dev_storage + 1758;
}
}
@@ -43389,11 +43709,11 @@ return NULL;
}
}
- case 'g':
+ case 'b':
if (strncmp (KR_keyword, "/dev/sdbg11", 11) == 0)
{
{
-return dev_storage + 1276;
+return dev_storage + 1342;
}
}
@@ -43404,11 +43724,11 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sdbf11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdag11", 11) == 0)
{
{
-return dev_storage + 1261;
+return dev_storage + 926;
}
}
@@ -43419,26 +43739,20 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdbe11", 11) == 0)
- {
-{
-return dev_storage + 1246;
-
-}
- }
- else
- {
+ default:
{
return NULL;
}
- }
+ }
+ case 'f':
+ switch (KR_keyword [7])
+ {
case 'd':
- if (strncmp (KR_keyword, "/dev/sdbd11", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sddf11", 11) == 0)
{
{
-return dev_storage + 1231;
+return dev_storage + 2157;
}
}
@@ -43450,10 +43764,10 @@ return NULL;
}
}
case 'c':
- if (strncmp (KR_keyword, "/dev/sdbc11", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdcf11", 11) == 0)
{
{
-return dev_storage + 1216;
+return dev_storage + 1743;
}
}
@@ -43465,10 +43779,10 @@ return NULL;
}
}
case 'b':
- if (strncmp (KR_keyword, "/dev/sdbb11", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdbf11", 11) == 0)
{
{
-return dev_storage + 1201;
+return dev_storage + 1327;
}
}
@@ -43480,10 +43794,10 @@ return NULL;
}
}
case 'a':
- if (strncmp (KR_keyword, "/dev/sdba11", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdaf11", 11) == 0)
{
{
-return dev_storage + 1186;
+return dev_storage + 911;
}
}
@@ -43500,14 +43814,14 @@ return NULL;
}
}
- case 'a':
- switch (KR_keyword [8])
+ case 'e':
+ switch (KR_keyword [7])
{
- case 'z':
- if (strncmp (KR_keyword, "/dev/sdaz11", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sdde11", 11) == 0)
{
{
-return dev_storage + 1145;
+return dev_storage + 2142;
}
}
@@ -43518,11 +43832,11 @@ return NULL;
}
}
- case 'y':
- if (strncmp (KR_keyword, "/dev/sday11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdce11", 11) == 0)
{
{
-return dev_storage + 1130;
+return dev_storage + 1728;
}
}
@@ -43533,11 +43847,11 @@ return NULL;
}
}
- case 'x':
- if (strncmp (KR_keyword, "/dev/sdax11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbe11", 11) == 0)
{
{
-return dev_storage + 1115;
+return dev_storage + 1312;
}
}
@@ -43548,11 +43862,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sdaw11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdae11", 11) == 0)
{
{
-return dev_storage + 1100;
+return dev_storage + 896;
}
}
@@ -43563,11 +43877,20 @@ return NULL;
}
}
- case 'v':
- if (strncmp (KR_keyword, "/dev/sdav11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'd':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddd11", 11) == 0)
{
{
-return dev_storage + 1085;
+return dev_storage + 2127;
}
}
@@ -43578,11 +43901,11 @@ return NULL;
}
}
- case 'u':
- if (strncmp (KR_keyword, "/dev/sdau11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcd11", 11) == 0)
{
{
-return dev_storage + 1070;
+return dev_storage + 1713;
}
}
@@ -43593,11 +43916,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sdat11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbd11", 11) == 0)
{
{
-return dev_storage + 1055;
+return dev_storage + 1297;
}
}
@@ -43608,11 +43931,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdas11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdad11", 11) == 0)
{
{
-return dev_storage + 1040;
+return dev_storage + 881;
}
}
@@ -43623,11 +43946,20 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sdar11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'c':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddc11", 11) == 0)
{
{
-return dev_storage + 1025;
+return dev_storage + 2112;
}
}
@@ -43638,11 +43970,11 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sdaq11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcc11", 11) == 0)
{
{
-return dev_storage + 1010;
+return dev_storage + 1698;
}
}
@@ -43653,11 +43985,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sdap11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbc11", 11) == 0)
{
{
-return dev_storage + 995;
+return dev_storage + 1282;
}
}
@@ -43668,11 +44000,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sdao11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdac11", 11) == 0)
{
{
-return dev_storage + 980;
+return dev_storage + 866;
}
}
@@ -43683,11 +44015,20 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sdan11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'b':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddb11", 11) == 0)
{
{
-return dev_storage + 965;
+return dev_storage + 2097;
}
}
@@ -43698,11 +44039,11 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sdam11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcb11", 11) == 0)
{
{
-return dev_storage + 950;
+return dev_storage + 1683;
}
}
@@ -43713,11 +44054,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sdal11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbb11", 11) == 0)
{
{
-return dev_storage + 935;
+return dev_storage + 1267;
}
}
@@ -43728,11 +44069,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sdak11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdab11", 11) == 0)
{
{
-return dev_storage + 920;
+return dev_storage + 851;
}
}
@@ -43743,11 +44084,20 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sdaj11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'a':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sdda11", 11) == 0)
{
{
-return dev_storage + 905;
+return dev_storage + 2082;
}
}
@@ -43758,11 +44108,11 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sdai11", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdca11", 11) == 0)
{
{
-return dev_storage + 890;
+return dev_storage + 1668;
}
}
@@ -43773,11 +44123,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sdah11", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdba11", 11) == 0)
{
{
-return dev_storage + 875;
+return dev_storage + 1252;
}
}
@@ -43788,11 +44138,11 @@ return NULL;
}
}
- case 'g':
- if (strncmp (KR_keyword, "/dev/sdag11", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaa11", 11) == 0)
{
{
-return dev_storage + 860;
+return dev_storage + 836;
}
}
@@ -43803,11 +44153,20 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sdaf11", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'S':
+ switch (KR_keyword [9])
+ {
+ case '6':
+ if (strncmp (KR_keyword, "/dev/ttyS61", 11) == 0)
{
{
-return dev_storage + 845;
+return dev_storage + 2638;
}
}
@@ -43818,11 +44177,11 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdae11", 11) == 0)
+ case '5':
+ if (strncmp (KR_keyword, "/dev/ttyS51", 11) == 0)
{
{
-return dev_storage + 830;
+return dev_storage + 2628;
}
}
@@ -43833,11 +44192,11 @@ return NULL;
}
}
- case 'd':
- if (strncmp (KR_keyword, "/dev/sdad11", 11) == 0)
+ case '4':
+ if (strncmp (KR_keyword, "/dev/ttyS41", 11) == 0)
{
{
-return dev_storage + 815;
+return dev_storage + 2618;
}
}
@@ -43848,11 +44207,11 @@ return NULL;
}
}
- case 'c':
- if (strncmp (KR_keyword, "/dev/sdac11", 11) == 0)
+ case '3':
+ if (strncmp (KR_keyword, "/dev/ttyS31", 11) == 0)
{
{
-return dev_storage + 800;
+return dev_storage + 2608;
}
}
@@ -43863,11 +44222,11 @@ return NULL;
}
}
- case 'b':
- if (strncmp (KR_keyword, "/dev/sdab11", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/ttyS21", 11) == 0)
{
{
-return dev_storage + 785;
+return dev_storage + 2598;
}
}
@@ -43878,11 +44237,11 @@ return NULL;
}
}
- case 'a':
- if (strncmp (KR_keyword, "/dev/sdaa11", 11) == 0)
+ case '1':
+ if (strncmp (KR_keyword, "/dev/ttyS11", 11) == 0)
{
{
-return dev_storage + 770;
+return dev_storage + 2588;
}
}
@@ -43899,23 +44258,14 @@ return NULL;
}
}
- default:
-{
-return NULL;
-
-}
- }
- case '0':
- switch (KR_keyword [7])
- {
- case 'y':
+ case '1':
switch (KR_keyword [9])
{
- case '6':
- if (strncmp (KR_keyword, "/dev/ttyS60", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/nst121", 11) == 0)
{
{
-return dev_storage + 2571;
+return dev_storage + 228;
}
}
@@ -43926,11 +44276,11 @@ return NULL;
}
}
- case '5':
- if (strncmp (KR_keyword, "/dev/ttyS50", 11) == 0)
+ case '1':
+ if (strncmp (KR_keyword, "/dev/nst111", 11) == 0)
{
{
-return dev_storage + 2561;
+return dev_storage + 218;
}
}
@@ -43941,11 +44291,11 @@ return NULL;
}
}
- case '4':
- if (strncmp (KR_keyword, "/dev/ttyS40", 11) == 0)
+ case '0':
+ if (strncmp (KR_keyword, "/dev/nst101", 11) == 0)
{
{
-return dev_storage + 2551;
+return dev_storage + 208;
}
}
@@ -43956,11 +44306,29 @@ return NULL;
}
}
- case '3':
- if (strncmp (KR_keyword, "/dev/ttyS30", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ default:
+{
+return NULL;
+
+}
+ }
+ case '0':
+ switch (KR_keyword [8])
+ {
+ case 'z':
+ switch (KR_keyword [7])
+ {
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcz10", 11) == 0)
{
{
-return dev_storage + 2541;
+return dev_storage + 2042;
}
}
@@ -43971,11 +44339,11 @@ return NULL;
}
}
- case '2':
- if (strncmp (KR_keyword, "/dev/ttyS20", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbz10", 11) == 0)
{
{
-return dev_storage + 2531;
+return dev_storage + 1626;
}
}
@@ -43986,11 +44354,11 @@ return NULL;
}
}
- case '1':
- if (strncmp (KR_keyword, "/dev/ttyS10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaz10", 11) == 0)
{
{
-return dev_storage + 2521;
+return dev_storage + 1210;
}
}
@@ -44007,14 +44375,14 @@ return NULL;
}
}
- case 't':
- switch (KR_keyword [9])
+ case 'y':
+ switch (KR_keyword [7])
{
- case '2':
- if (strncmp (KR_keyword, "/dev/nst120", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcy10", 11) == 0)
{
{
-return dev_storage + 226;
+return dev_storage + 2027;
}
}
@@ -44025,11 +44393,11 @@ return NULL;
}
}
- case '1':
- if (strncmp (KR_keyword, "/dev/nst110", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdby10", 11) == 0)
{
{
-return dev_storage + 216;
+return dev_storage + 1611;
}
}
@@ -44040,11 +44408,11 @@ return NULL;
}
}
- case '0':
- if (strncmp (KR_keyword, "/dev/nst100", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sday10", 11) == 0)
{
{
-return dev_storage + 206;
+return dev_storage + 1195;
}
}
@@ -44061,14 +44429,14 @@ return NULL;
}
}
- case 'n':
- switch (KR_keyword [9])
+ case 'x':
+ switch (KR_keyword [7])
{
- case '6':
- if (strncmp (KR_keyword, "/dev/cons60", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddx10", 11) == 0)
{
{
-return dev_storage + 80;
+return dev_storage + 2426;
}
}
@@ -44079,11 +44447,11 @@ return NULL;
}
}
- case '5':
- if (strncmp (KR_keyword, "/dev/cons50", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcx10", 11) == 0)
{
{
-return dev_storage + 70;
+return dev_storage + 2012;
}
}
@@ -44094,11 +44462,11 @@ return NULL;
}
}
- case '4':
- if (strncmp (KR_keyword, "/dev/cons40", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbx10", 11) == 0)
{
{
-return dev_storage + 60;
+return dev_storage + 1596;
}
}
@@ -44109,11 +44477,11 @@ return NULL;
}
}
- case '3':
- if (strncmp (KR_keyword, "/dev/cons30", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdax10", 11) == 0)
{
{
-return dev_storage + 50;
+return dev_storage + 1180;
}
}
@@ -44124,11 +44492,20 @@ return NULL;
}
}
- case '2':
- if (strncmp (KR_keyword, "/dev/cons20", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'w':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddw10", 11) == 0)
{
{
-return dev_storage + 40;
+return dev_storage + 2411;
}
}
@@ -44139,11 +44516,11 @@ return NULL;
}
}
- case '1':
- if (strncmp (KR_keyword, "/dev/cons10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcw10", 11) == 0)
{
{
-return dev_storage + 30;
+return dev_storage + 1997;
}
}
@@ -44154,20 +44531,11 @@ return NULL;
}
}
- default:
-{
-return NULL;
-
-}
- }
- case 'd':
- switch (KR_keyword [8])
- {
- case 'x':
- if (strncmp (KR_keyword, "/dev/sddx10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbw10", 11) == 0)
{
{
-return dev_storage + 2360;
+return dev_storage + 1581;
}
}
@@ -44178,11 +44546,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sddw10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaw10", 11) == 0)
{
{
-return dev_storage + 2345;
+return dev_storage + 1165;
}
}
@@ -44193,11 +44561,20 @@ return NULL;
}
}
- case 'v':
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'v':
+ switch (KR_keyword [7])
+ {
+ case 'd':
if (strncmp (KR_keyword, "/dev/sddv10", 11) == 0)
{
{
-return dev_storage + 2330;
+return dev_storage + 2396;
}
}
@@ -44208,11 +44585,11 @@ return NULL;
}
}
- case 'u':
- if (strncmp (KR_keyword, "/dev/sddu10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcv10", 11) == 0)
{
{
-return dev_storage + 2315;
+return dev_storage + 1982;
}
}
@@ -44223,11 +44600,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sddt10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbv10", 11) == 0)
{
{
-return dev_storage + 2300;
+return dev_storage + 1566;
}
}
@@ -44238,11 +44615,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdds10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdav10", 11) == 0)
{
{
-return dev_storage + 2285;
+return dev_storage + 1150;
}
}
@@ -44253,11 +44630,20 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sddr10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'u':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddu10", 11) == 0)
{
{
-return dev_storage + 2270;
+return dev_storage + 2381;
}
}
@@ -44268,11 +44654,11 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sddq10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcu10", 11) == 0)
{
{
-return dev_storage + 2255;
+return dev_storage + 1967;
}
}
@@ -44283,11 +44669,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sddp10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbu10", 11) == 0)
{
{
-return dev_storage + 2240;
+return dev_storage + 1551;
}
}
@@ -44298,11 +44684,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sddo10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdau10", 11) == 0)
{
{
-return dev_storage + 2225;
+return dev_storage + 1135;
}
}
@@ -44313,11 +44699,20 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sddn10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 't':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddt10", 11) == 0)
{
{
-return dev_storage + 2210;
+return dev_storage + 2366;
}
}
@@ -44328,11 +44723,11 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sddm10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdct10", 11) == 0)
{
{
-return dev_storage + 2195;
+return dev_storage + 1952;
}
}
@@ -44343,11 +44738,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sddl10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbt10", 11) == 0)
{
{
-return dev_storage + 2180;
+return dev_storage + 1536;
}
}
@@ -44358,11 +44753,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sddk10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdat10", 11) == 0)
{
{
-return dev_storage + 2165;
+return dev_storage + 1120;
}
}
@@ -44373,11 +44768,20 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sddj10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 's':
+ switch (KR_keyword [9])
+ {
+ case '6':
+ if (strncmp (KR_keyword, "/dev/cons60", 11) == 0)
{
{
-return dev_storage + 2150;
+return dev_storage + 80;
}
}
@@ -44388,11 +44792,11 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sddi10", 11) == 0)
+ case '5':
+ if (strncmp (KR_keyword, "/dev/cons50", 11) == 0)
{
{
-return dev_storage + 2135;
+return dev_storage + 70;
}
}
@@ -44403,11 +44807,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sddh10", 11) == 0)
+ case '4':
+ if (strncmp (KR_keyword, "/dev/cons40", 11) == 0)
{
{
-return dev_storage + 2120;
+return dev_storage + 60;
}
}
@@ -44418,11 +44822,11 @@ return NULL;
}
}
- case 'g':
- if (strncmp (KR_keyword, "/dev/sddg10", 11) == 0)
+ case '3':
+ if (strncmp (KR_keyword, "/dev/cons30", 11) == 0)
{
{
-return dev_storage + 2105;
+return dev_storage + 50;
}
}
@@ -44433,11 +44837,11 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sddf10", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/cons20", 11) == 0)
{
{
-return dev_storage + 2090;
+return dev_storage + 40;
}
}
@@ -44448,26 +44852,104 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdde10", 11) == 0)
+ case '1':
+ switch (KR_keyword [7])
{
+ case 'n':
+ if (strncmp (KR_keyword, "/dev/cons10", 11) == 0)
+ {
{
-return dev_storage + 2075;
+return dev_storage + 30;
}
- }
- else
- {
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sdds10", 11) == 0)
+ {
+{
+return dev_storage + 2351;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcs10", 11) == 0)
+ {
+{
+return dev_storage + 1937;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbs10", 11) == 0)
+ {
+{
+return dev_storage + 1521;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdas10", 11) == 0)
+ {
+{
+return dev_storage + 1105;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ default:
{
return NULL;
}
}
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'r':
+ switch (KR_keyword [7])
+ {
case 'd':
- if (strncmp (KR_keyword, "/dev/sddd10", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sddr10", 11) == 0)
{
{
-return dev_storage + 2060;
+return dev_storage + 2336;
}
}
@@ -44479,10 +44961,10 @@ return NULL;
}
}
case 'c':
- if (strncmp (KR_keyword, "/dev/sddc10", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdcr10", 11) == 0)
{
{
-return dev_storage + 2045;
+return dev_storage + 1922;
}
}
@@ -44494,10 +44976,10 @@ return NULL;
}
}
case 'b':
- if (strncmp (KR_keyword, "/dev/sddb10", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdbr10", 11) == 0)
{
{
-return dev_storage + 2030;
+return dev_storage + 1506;
}
}
@@ -44509,10 +44991,10 @@ return NULL;
}
}
case 'a':
- if (strncmp (KR_keyword, "/dev/sdda10", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdar10", 11) == 0)
{
{
-return dev_storage + 2015;
+return dev_storage + 1090;
}
}
@@ -44529,14 +45011,14 @@ return NULL;
}
}
- case 'c':
- switch (KR_keyword [8])
+ case 'q':
+ switch (KR_keyword [7])
{
- case 'z':
- if (strncmp (KR_keyword, "/dev/sdcz10", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddq10", 11) == 0)
{
{
-return dev_storage + 1976;
+return dev_storage + 2321;
}
}
@@ -44547,11 +45029,11 @@ return NULL;
}
}
- case 'y':
- if (strncmp (KR_keyword, "/dev/sdcy10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcq10", 11) == 0)
{
{
-return dev_storage + 1961;
+return dev_storage + 1907;
}
}
@@ -44562,11 +45044,11 @@ return NULL;
}
}
- case 'x':
- if (strncmp (KR_keyword, "/dev/sdcx10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbq10", 11) == 0)
{
{
-return dev_storage + 1946;
+return dev_storage + 1491;
}
}
@@ -44577,11 +45059,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sdcw10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaq10", 11) == 0)
{
{
-return dev_storage + 1931;
+return dev_storage + 1075;
}
}
@@ -44592,11 +45074,20 @@ return NULL;
}
}
- case 'v':
- if (strncmp (KR_keyword, "/dev/sdcv10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'p':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddp10", 11) == 0)
{
{
-return dev_storage + 1916;
+return dev_storage + 2306;
}
}
@@ -44607,11 +45098,11 @@ return NULL;
}
}
- case 'u':
- if (strncmp (KR_keyword, "/dev/sdcu10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcp10", 11) == 0)
{
{
-return dev_storage + 1901;
+return dev_storage + 1892;
}
}
@@ -44622,11 +45113,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sdct10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbp10", 11) == 0)
{
{
-return dev_storage + 1886;
+return dev_storage + 1476;
}
}
@@ -44637,11 +45128,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdcs10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdap10", 11) == 0)
{
{
-return dev_storage + 1871;
+return dev_storage + 1060;
}
}
@@ -44652,11 +45143,20 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sdcr10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'o':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddo10", 11) == 0)
{
{
-return dev_storage + 1856;
+return dev_storage + 2291;
}
}
@@ -44667,11 +45167,11 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sdcq10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdco10", 11) == 0)
{
{
-return dev_storage + 1841;
+return dev_storage + 1877;
}
}
@@ -44682,11 +45182,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sdcp10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbo10", 11) == 0)
{
{
-return dev_storage + 1826;
+return dev_storage + 1461;
}
}
@@ -44697,11 +45197,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sdco10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdao10", 11) == 0)
{
{
-return dev_storage + 1811;
+return dev_storage + 1045;
}
}
@@ -44712,11 +45212,20 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sdcn10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'n':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddn10", 11) == 0)
{
{
-return dev_storage + 1796;
+return dev_storage + 2276;
}
}
@@ -44727,11 +45236,11 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sdcm10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcn10", 11) == 0)
{
{
-return dev_storage + 1781;
+return dev_storage + 1862;
}
}
@@ -44742,11 +45251,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sdcl10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbn10", 11) == 0)
{
{
-return dev_storage + 1766;
+return dev_storage + 1446;
}
}
@@ -44757,11 +45266,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sdck10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdan10", 11) == 0)
{
{
-return dev_storage + 1751;
+return dev_storage + 1030;
}
}
@@ -44772,11 +45281,20 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sdcj10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'm':
+ switch (KR_keyword [9])
+ {
+ case '6':
+ if (strncmp (KR_keyword, "/dev/ptym60", 11) == 0)
{
{
-return dev_storage + 1736;
+return dev_storage + 363;
}
}
@@ -44787,11 +45305,11 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sdci10", 11) == 0)
+ case '5':
+ if (strncmp (KR_keyword, "/dev/ptym50", 11) == 0)
{
{
-return dev_storage + 1721;
+return dev_storage + 353;
}
}
@@ -44802,11 +45320,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sdch10", 11) == 0)
+ case '4':
+ if (strncmp (KR_keyword, "/dev/ptym40", 11) == 0)
{
{
-return dev_storage + 1706;
+return dev_storage + 343;
}
}
@@ -44817,11 +45335,11 @@ return NULL;
}
}
- case 'g':
- if (strncmp (KR_keyword, "/dev/sdcg10", 11) == 0)
+ case '3':
+ if (strncmp (KR_keyword, "/dev/ptym30", 11) == 0)
{
{
-return dev_storage + 1691;
+return dev_storage + 333;
}
}
@@ -44832,11 +45350,11 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sdcf10", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/ptym20", 11) == 0)
{
{
-return dev_storage + 1676;
+return dev_storage + 323;
}
}
@@ -44847,26 +45365,104 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdce10", 11) == 0)
+ case '1':
+ switch (KR_keyword [7])
{
+ case 'y':
+ if (strncmp (KR_keyword, "/dev/ptym10", 11) == 0)
+ {
{
-return dev_storage + 1661;
+return dev_storage + 313;
}
- }
- else
- {
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddm10", 11) == 0)
+ {
+{
+return dev_storage + 2261;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcm10", 11) == 0)
+ {
+{
+return dev_storage + 1847;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbm10", 11) == 0)
+ {
+{
+return dev_storage + 1431;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdam10", 11) == 0)
+ {
+{
+return dev_storage + 1015;
+
+}
+ }
+ else
+ {
+{
+return NULL;
+
+}
+ }
+ default:
{
return NULL;
}
}
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'l':
+ switch (KR_keyword [7])
+ {
case 'd':
- if (strncmp (KR_keyword, "/dev/sdcd10", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sddl10", 11) == 0)
{
{
-return dev_storage + 1646;
+return dev_storage + 2246;
}
}
@@ -44878,10 +45474,10 @@ return NULL;
}
}
case 'c':
- if (strncmp (KR_keyword, "/dev/sdcc10", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdcl10", 11) == 0)
{
{
-return dev_storage + 1631;
+return dev_storage + 1832;
}
}
@@ -44893,10 +45489,10 @@ return NULL;
}
}
case 'b':
- if (strncmp (KR_keyword, "/dev/sdcb10", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdbl10", 11) == 0)
{
{
-return dev_storage + 1616;
+return dev_storage + 1416;
}
}
@@ -44908,10 +45504,10 @@ return NULL;
}
}
case 'a':
- if (strncmp (KR_keyword, "/dev/sdca10", 11) == 0)
+ if (strncmp (KR_keyword, "/dev/sdal10", 11) == 0)
{
{
-return dev_storage + 1601;
+return dev_storage + 1000;
}
}
@@ -44928,14 +45524,14 @@ return NULL;
}
}
- case 'b':
- switch (KR_keyword [8])
+ case 'k':
+ switch (KR_keyword [7])
{
- case 'z':
- if (strncmp (KR_keyword, "/dev/sdbz10", 11) == 0)
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddk10", 11) == 0)
{
{
-return dev_storage + 1560;
+return dev_storage + 2231;
}
}
@@ -44946,11 +45542,11 @@ return NULL;
}
}
- case 'y':
- if (strncmp (KR_keyword, "/dev/sdby10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdck10", 11) == 0)
{
{
-return dev_storage + 1545;
+return dev_storage + 1817;
}
}
@@ -44961,11 +45557,11 @@ return NULL;
}
}
- case 'x':
- if (strncmp (KR_keyword, "/dev/sdbx10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbk10", 11) == 0)
{
{
-return dev_storage + 1530;
+return dev_storage + 1401;
}
}
@@ -44976,11 +45572,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sdbw10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdak10", 11) == 0)
{
{
-return dev_storage + 1515;
+return dev_storage + 985;
}
}
@@ -44991,11 +45587,20 @@ return NULL;
}
}
- case 'v':
- if (strncmp (KR_keyword, "/dev/sdbv10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'j':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddj10", 11) == 0)
{
{
-return dev_storage + 1500;
+return dev_storage + 2216;
}
}
@@ -45006,11 +45611,11 @@ return NULL;
}
}
- case 'u':
- if (strncmp (KR_keyword, "/dev/sdbu10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcj10", 11) == 0)
{
{
-return dev_storage + 1485;
+return dev_storage + 1802;
}
}
@@ -45021,11 +45626,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sdbt10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbj10", 11) == 0)
{
{
-return dev_storage + 1470;
+return dev_storage + 1386;
}
}
@@ -45036,11 +45641,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdbs10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaj10", 11) == 0)
{
{
-return dev_storage + 1455;
+return dev_storage + 970;
}
}
@@ -45051,11 +45656,20 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sdbr10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'i':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddi10", 11) == 0)
{
{
-return dev_storage + 1440;
+return dev_storage + 2201;
}
}
@@ -45066,11 +45680,11 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sdbq10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdci10", 11) == 0)
{
{
-return dev_storage + 1425;
+return dev_storage + 1787;
}
}
@@ -45081,11 +45695,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sdbp10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbi10", 11) == 0)
{
{
-return dev_storage + 1410;
+return dev_storage + 1371;
}
}
@@ -45096,11 +45710,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sdbo10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdai10", 11) == 0)
{
{
-return dev_storage + 1395;
+return dev_storage + 955;
}
}
@@ -45111,11 +45725,20 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sdbn10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'h':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddh10", 11) == 0)
{
{
-return dev_storage + 1380;
+return dev_storage + 2186;
}
}
@@ -45126,11 +45749,11 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sdbm10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdch10", 11) == 0)
{
{
-return dev_storage + 1365;
+return dev_storage + 1772;
}
}
@@ -45141,11 +45764,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sdbl10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbh10", 11) == 0)
{
{
-return dev_storage + 1350;
+return dev_storage + 1356;
}
}
@@ -45156,11 +45779,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sdbk10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdah10", 11) == 0)
{
{
-return dev_storage + 1335;
+return dev_storage + 940;
}
}
@@ -45171,11 +45794,20 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sdbj10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'g':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddg10", 11) == 0)
{
{
-return dev_storage + 1320;
+return dev_storage + 2171;
}
}
@@ -45186,11 +45818,11 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sdbi10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcg10", 11) == 0)
{
{
-return dev_storage + 1305;
+return dev_storage + 1757;
}
}
@@ -45201,11 +45833,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sdbh10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbg10", 11) == 0)
{
{
-return dev_storage + 1290;
+return dev_storage + 1341;
}
}
@@ -45216,11 +45848,11 @@ return NULL;
}
}
- case 'g':
- if (strncmp (KR_keyword, "/dev/sdbg10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdag10", 11) == 0)
{
{
-return dev_storage + 1275;
+return dev_storage + 925;
}
}
@@ -45231,11 +45863,20 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sdbf10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'f':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddf10", 11) == 0)
{
{
-return dev_storage + 1260;
+return dev_storage + 2156;
}
}
@@ -45246,11 +45887,11 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdbe10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcf10", 11) == 0)
{
{
-return dev_storage + 1245;
+return dev_storage + 1742;
}
}
@@ -45261,11 +45902,11 @@ return NULL;
}
}
- case 'd':
- if (strncmp (KR_keyword, "/dev/sdbd10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbf10", 11) == 0)
{
{
-return dev_storage + 1230;
+return dev_storage + 1326;
}
}
@@ -45276,11 +45917,11 @@ return NULL;
}
}
- case 'c':
- if (strncmp (KR_keyword, "/dev/sdbc10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaf10", 11) == 0)
{
{
-return dev_storage + 1215;
+return dev_storage + 910;
}
}
@@ -45291,11 +45932,20 @@ return NULL;
}
}
- case 'b':
- if (strncmp (KR_keyword, "/dev/sdbb10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'e':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sdde10", 11) == 0)
{
{
-return dev_storage + 1200;
+return dev_storage + 2141;
}
}
@@ -45306,11 +45956,11 @@ return NULL;
}
}
- case 'a':
- if (strncmp (KR_keyword, "/dev/sdba10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdce10", 11) == 0)
{
{
-return dev_storage + 1185;
+return dev_storage + 1727;
}
}
@@ -45321,20 +45971,26 @@ return NULL;
}
}
- default:
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbe10", 11) == 0)
+ {
+{
+return dev_storage + 1311;
+
+}
+ }
+ else
+ {
{
return NULL;
}
- }
- case 'a':
- switch (KR_keyword [8])
- {
- case 'z':
- if (strncmp (KR_keyword, "/dev/sdaz10", 11) == 0)
+ }
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdae10", 11) == 0)
{
{
-return dev_storage + 1144;
+return dev_storage + 895;
}
}
@@ -45345,11 +46001,20 @@ return NULL;
}
}
- case 'y':
- if (strncmp (KR_keyword, "/dev/sday10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'd':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddd10", 11) == 0)
{
{
-return dev_storage + 1129;
+return dev_storage + 2126;
}
}
@@ -45360,11 +46025,11 @@ return NULL;
}
}
- case 'x':
- if (strncmp (KR_keyword, "/dev/sdax10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcd10", 11) == 0)
{
{
-return dev_storage + 1114;
+return dev_storage + 1712;
}
}
@@ -45375,11 +46040,11 @@ return NULL;
}
}
- case 'w':
- if (strncmp (KR_keyword, "/dev/sdaw10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbd10", 11) == 0)
{
{
-return dev_storage + 1099;
+return dev_storage + 1296;
}
}
@@ -45390,11 +46055,11 @@ return NULL;
}
}
- case 'v':
- if (strncmp (KR_keyword, "/dev/sdav10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdad10", 11) == 0)
{
{
-return dev_storage + 1084;
+return dev_storage + 880;
}
}
@@ -45405,11 +46070,20 @@ return NULL;
}
}
- case 'u':
- if (strncmp (KR_keyword, "/dev/sdau10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'c':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddc10", 11) == 0)
{
{
-return dev_storage + 1069;
+return dev_storage + 2111;
}
}
@@ -45420,11 +46094,11 @@ return NULL;
}
}
- case 't':
- if (strncmp (KR_keyword, "/dev/sdat10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcc10", 11) == 0)
{
{
-return dev_storage + 1054;
+return dev_storage + 1697;
}
}
@@ -45435,11 +46109,11 @@ return NULL;
}
}
- case 's':
- if (strncmp (KR_keyword, "/dev/sdas10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbc10", 11) == 0)
{
{
-return dev_storage + 1039;
+return dev_storage + 1281;
}
}
@@ -45450,11 +46124,11 @@ return NULL;
}
}
- case 'r':
- if (strncmp (KR_keyword, "/dev/sdar10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdac10", 11) == 0)
{
{
-return dev_storage + 1024;
+return dev_storage + 865;
}
}
@@ -45465,11 +46139,20 @@ return NULL;
}
}
- case 'q':
- if (strncmp (KR_keyword, "/dev/sdaq10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'b':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sddb10", 11) == 0)
{
{
-return dev_storage + 1009;
+return dev_storage + 2096;
}
}
@@ -45480,11 +46163,11 @@ return NULL;
}
}
- case 'p':
- if (strncmp (KR_keyword, "/dev/sdap10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdcb10", 11) == 0)
{
{
-return dev_storage + 994;
+return dev_storage + 1682;
}
}
@@ -45495,11 +46178,11 @@ return NULL;
}
}
- case 'o':
- if (strncmp (KR_keyword, "/dev/sdao10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdbb10", 11) == 0)
{
{
-return dev_storage + 979;
+return dev_storage + 1266;
}
}
@@ -45510,11 +46193,11 @@ return NULL;
}
}
- case 'n':
- if (strncmp (KR_keyword, "/dev/sdan10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdab10", 11) == 0)
{
{
-return dev_storage + 964;
+return dev_storage + 850;
}
}
@@ -45525,11 +46208,20 @@ return NULL;
}
}
- case 'm':
- if (strncmp (KR_keyword, "/dev/sdam10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'a':
+ switch (KR_keyword [7])
+ {
+ case 'd':
+ if (strncmp (KR_keyword, "/dev/sdda10", 11) == 0)
{
{
-return dev_storage + 949;
+return dev_storage + 2081;
}
}
@@ -45540,11 +46232,11 @@ return NULL;
}
}
- case 'l':
- if (strncmp (KR_keyword, "/dev/sdal10", 11) == 0)
+ case 'c':
+ if (strncmp (KR_keyword, "/dev/sdca10", 11) == 0)
{
{
-return dev_storage + 934;
+return dev_storage + 1667;
}
}
@@ -45555,11 +46247,11 @@ return NULL;
}
}
- case 'k':
- if (strncmp (KR_keyword, "/dev/sdak10", 11) == 0)
+ case 'b':
+ if (strncmp (KR_keyword, "/dev/sdba10", 11) == 0)
{
{
-return dev_storage + 919;
+return dev_storage + 1251;
}
}
@@ -45570,11 +46262,11 @@ return NULL;
}
}
- case 'j':
- if (strncmp (KR_keyword, "/dev/sdaj10", 11) == 0)
+ case 'a':
+ if (strncmp (KR_keyword, "/dev/sdaa10", 11) == 0)
{
{
-return dev_storage + 904;
+return dev_storage + 835;
}
}
@@ -45585,11 +46277,20 @@ return NULL;
}
}
- case 'i':
- if (strncmp (KR_keyword, "/dev/sdai10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case 'S':
+ switch (KR_keyword [9])
+ {
+ case '6':
+ if (strncmp (KR_keyword, "/dev/ttyS60", 11) == 0)
{
{
-return dev_storage + 889;
+return dev_storage + 2637;
}
}
@@ -45600,11 +46301,11 @@ return NULL;
}
}
- case 'h':
- if (strncmp (KR_keyword, "/dev/sdah10", 11) == 0)
+ case '5':
+ if (strncmp (KR_keyword, "/dev/ttyS50", 11) == 0)
{
{
-return dev_storage + 874;
+return dev_storage + 2627;
}
}
@@ -45615,11 +46316,11 @@ return NULL;
}
}
- case 'g':
- if (strncmp (KR_keyword, "/dev/sdag10", 11) == 0)
+ case '4':
+ if (strncmp (KR_keyword, "/dev/ttyS40", 11) == 0)
{
{
-return dev_storage + 859;
+return dev_storage + 2617;
}
}
@@ -45630,11 +46331,11 @@ return NULL;
}
}
- case 'f':
- if (strncmp (KR_keyword, "/dev/sdaf10", 11) == 0)
+ case '3':
+ if (strncmp (KR_keyword, "/dev/ttyS30", 11) == 0)
{
{
-return dev_storage + 844;
+return dev_storage + 2607;
}
}
@@ -45645,11 +46346,11 @@ return NULL;
}
}
- case 'e':
- if (strncmp (KR_keyword, "/dev/sdae10", 11) == 0)
+ case '2':
+ if (strncmp (KR_keyword, "/dev/ttyS20", 11) == 0)
{
{
-return dev_storage + 829;
+return dev_storage + 2597;
}
}
@@ -45660,11 +46361,11 @@ return NULL;
}
}
- case 'd':
- if (strncmp (KR_keyword, "/dev/sdad10", 11) == 0)
+ case '1':
+ if (strncmp (KR_keyword, "/dev/ttyS10", 11) == 0)
{
{
-return dev_storage + 814;
+return dev_storage + 2587;
}
}
@@ -45675,11 +46376,20 @@ return NULL;
}
}
- case 'c':
- if (strncmp (KR_keyword, "/dev/sdac10", 11) == 0)
+ default:
+{
+return NULL;
+
+}
+ }
+ case '1':
+ switch (KR_keyword [9])
+ {
+ case '2':
+ if (strncmp (KR_keyword, "/dev/nst120", 11) == 0)
{
{
-return dev_storage + 799;
+return dev_storage + 227;
}
}
@@ -45690,11 +46400,11 @@ return NULL;
}
}
- case 'b':
- if (strncmp (KR_keyword, "/dev/sdab10", 11) == 0)
+ case '1':
+ if (strncmp (KR_keyword, "/dev/nst110", 11) == 0)
{
{
-return dev_storage + 784;
+return dev_storage + 217;
}
}
@@ -45705,11 +46415,11 @@ return NULL;
}
}
- case 'a':
- if (strncmp (KR_keyword, "/dev/sdaa10", 11) == 0)
+ case '0':
+ if (strncmp (KR_keyword, "/dev/nst100", 11) == 0)
{
{
-return dev_storage + 769;
+return dev_storage + 207;
}
}
@@ -45745,7 +46455,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/windows", 12) == 0)
{
{
-return dev_storage + 2576;
+return dev_storage + 2642;
}
}
@@ -45760,7 +46470,7 @@ return NULL;
if (strncmp (KR_keyword, "/dev/urandom", 12) == 0)
{
{
-return dev_storage + 2575;
+return dev_storage + 2641;
}
}
@@ -45821,9 +46531,6 @@ return NULL;
#undef BRACK
-
-const device *dev_storage_end = dev_storage + (sizeof dev_storage / sizeof dev_storage[0]);
-
void
device::parse (const char *s)
{
@@ -45845,14 +46552,14 @@ device::init ()
void
device::parse (_major_t major, _minor_t minor)
{
- _dev_t devn = FHDEV (major, minor);
+ _dev_t dev = FHDEV (major, minor);
d.devn = 0;
- for (const device *devidx = dev_storage; devidx < dev_storage_end; devidx++)
- if (devidx->d.devn == devn)
+ for (unsigned i = 0; i < (sizeof (dev_storage) / sizeof (dev_storage[0])); i++)
+ if (dev_storage[i].d.devn == dev)
{
- *this = *devidx;
+ *this = dev_storage[i];
break;
}
diff --git a/winsup/cygwin/devices.h b/winsup/cygwin/devices.h
index b6255f089..96eaa3ec4 100644
--- a/winsup/cygwin/devices.h
+++ b/winsup/cygwin/devices.h
@@ -1,6 +1,6 @@
/* devices.h
- Copyright 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ Copyright 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -8,7 +8,8 @@ This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
-#pragma once
+#ifndef _DEVICES_H
+#define _DEVICES_H
typedef unsigned short _major_t;
typedef unsigned short _minor_t;
@@ -19,18 +20,14 @@ typedef __dev32_t _dev_t;
#define _minor(dev) ((dev) & ((1 << (sizeof (_minor_t) * 8)) - 1))
#define _major(dev) ((dev) >> (sizeof (_major_t) * 8))
-#include <sys/stat.h>
-#include <dirent.h>
-
#define MAX_CONSOLES 63
enum fh_devices
{
- DEV_TTY_MAJOR = 5,
- FH_TTY = FHDEV (DEV_TTY_MAJOR, 0),
- FH_CONSOLE = FHDEV (DEV_TTY_MAJOR, 1),
- FH_PTMX = FHDEV (DEV_TTY_MAJOR, 2),
- FH_CONIN = FHDEV (DEV_TTY_MAJOR, 255),
- FH_CONOUT = FHDEV (DEV_TTY_MAJOR, 254),
+ FH_TTY = FHDEV (5, 0),
+ FH_CONSOLE = FHDEV (5, 1),
+ FH_PTMX = FHDEV (5, 2),
+ FH_CONIN = FHDEV (5, 255),
+ FH_CONOUT = FHDEV (5, 254),
DEV_CONS_MAJOR = 3,
FH_CONS = FHDEV (DEV_CONS_MAJOR, 0),
@@ -53,27 +50,25 @@ enum fh_devices
/* begin /proc directories */
- DEV_VIRTFS_MAJOR = 0,
- FH_PROC_MIN_MINOR = FHDEV (DEV_VIRTFS_MAJOR, 200),
- FH_PROCSYSVIPC = FHDEV (DEV_VIRTFS_MAJOR, 249),
- FH_PROCSYS = FHDEV (DEV_VIRTFS_MAJOR, 250),
- FH_PROCESSFD = FHDEV (DEV_VIRTFS_MAJOR, 251),
- FH_PROCNET = FHDEV (DEV_VIRTFS_MAJOR, 252),
- FH_REGISTRY= FHDEV (DEV_VIRTFS_MAJOR, 253),
- FH_PROCESS = FHDEV (DEV_VIRTFS_MAJOR, 254),
- FH_PROC = FHDEV (DEV_VIRTFS_MAJOR, 255),
- FH_PROC_MAX_MINOR = FHDEV (DEV_VIRTFS_MAJOR, 255),
+ FH_PROC_MIN_MINOR = FHDEV (0, 200),
+ FH_PROCSYSVIPC = FHDEV (0, 249),
+ FH_PROCSYS = FHDEV (0, 250),
+ FH_PROCESSFD = FHDEV (0, 251),
+ FH_PROCNET = FHDEV (0, 252),
+ FH_REGISTRY= FHDEV (0, 253),
+ FH_PROCESS = FHDEV (0, 254),
+ FH_PROC = FHDEV (0, 255),
+ FH_PROC_MAX_MINOR = FHDEV (0, 255),
/* end /proc directories */
- FH_PIPE = FHDEV (DEV_VIRTFS_MAJOR, 199),
- FH_PIPER = FHDEV (DEV_VIRTFS_MAJOR, 198),
- FH_PIPEW = FHDEV (DEV_VIRTFS_MAJOR, 197),
- FH_FIFO = FHDEV (DEV_VIRTFS_MAJOR, 196),
- FH_FS = FHDEV (DEV_VIRTFS_MAJOR, 195), /* filesystem based device */
- FH_NETDRIVE= FHDEV (DEV_VIRTFS_MAJOR, 194),
- FH_DEV = FHDEV (DEV_VIRTFS_MAJOR, 193),
- FH_CYGDRIVE= FHDEV (DEV_VIRTFS_MAJOR, 192),
+ FH_PIPE = FHDEV (0, 199),
+ FH_PIPER = FHDEV (0, 198),
+ FH_PIPEW = FHDEV (0, 197),
+ FH_FIFO = FHDEV (0, 196),
+ FH_FS = FHDEV (0, 195), /* filesystem based device */
+ FH_NETDRIVE= FHDEV (0, 194),
+ FH_DEV = FHDEV (0, 193),
DEV_FLOPPY_MAJOR = 2,
FH_FLOPPY = FHDEV (DEV_FLOPPY_MAJOR, 0),
@@ -245,6 +240,9 @@ enum fh_devices
DEV_SOUND_MAJOR = 14,
FH_OSS_DSP = FHDEV (DEV_SOUND_MAJOR, 3),
+ DEV_CYGDRIVE_MAJOR = 98,
+ FH_CYGDRIVE= FHDEV (DEV_CYGDRIVE_MAJOR, 0),
+
DEV_TCP_MAJOR = 30,
FH_TCP = FHDEV (DEV_TCP_MAJOR, 36),
FH_UDP = FHDEV (DEV_TCP_MAJOR, 39),
@@ -273,10 +271,8 @@ struct device
};
} d;
const char *native;
- int (*exists_func) (const device&);
_mode_t mode;
- bool lives_in_dev:4;
- bool dev_on_fs:4;
+ bool dev_on_fs;
static const device *lookup (const char *, unsigned int = UINT32_MAX);
void parse (const char *);
void parse (_major_t major, _minor_t minor);
@@ -308,8 +304,7 @@ struct device
bool not_device (_dev_t n) const {return d.devn && n != d.devn; }
_minor_t get_minor () const {return d.minor;}
- _major_t get_major () const {return d.major;}
- _dev_t get_device () const {return d.devn;}
+ _minor_t get_major () const {return d.major;}
inline operator int& () {return d.devn_int;}
inline operator fh_devices () {return d.devn_fh_devices;}
@@ -319,19 +314,8 @@ struct device
inline void setfs (bool x) {dev_on_fs = x;}
inline bool isfs () const {return dev_on_fs || d.devn == FH_FS;}
inline bool is_fs_special () const {return dev_on_fs && d.devn != FH_FS;}
- inline bool is_dev_resident () const {return lives_in_dev;}
- inline int exists () const {return exists_func (*this);}
- unsigned char type () const
- {
- if (S_ISBLK (mode))
- return DT_BLK;
- return mode >> 12;
- }
};
-extern const device dev_storage[];
-extern const device *dev_storage_end;
-
extern const device *console_dev;
extern const device *ptmx_dev;
extern const device *ptys_dev;
@@ -352,8 +336,6 @@ extern const device dev_pipew_storage;
#define pipew_dev (&dev_pipew_storage)
extern const device dev_proc_storage;
#define proc_dev (&dev_proc_storage)
-extern const device dev_dev_storage;
-#define dev_dev (&dev_dev_storage)
extern const device dev_netdrive_storage;
#define netdrive_dev (&dev_netdrive_storage)
extern const device dev_cygdrive_storage;
@@ -366,10 +348,6 @@ extern const device dev_fs_storage;
#define isproc_dev(devn) \
(devn >= FH_PROC_MIN_MINOR && devn <= FH_PROC_MAX_MINOR)
-#define iscygdrive_dev(devn) (devn == FH_CYGDRIVE)
-
-#define isdev_dev(devn) (devn == FH_DEV)
-
#define isprocsys_dev(devn) (devn == FH_PROCSYS)
#define isvirtual_dev(devn) \
@@ -382,3 +360,4 @@ extern const device dev_fs_storage;
|| (((int) n) == FH_CONOUT))
#define istty_slave_dev(n) (device::major (n) == DEV_PTYS_MAJOR)
+#endif /*_DEVICES_H*/
diff --git a/winsup/cygwin/devices.in b/winsup/cygwin/devices.in
index 213226ae6..b404e425d 100644
--- a/winsup/cygwin/devices.in
+++ b/winsup/cygwin/devices.in
@@ -4,188 +4,110 @@
#include "sys/cygwin.h"
#include "tty.h"
#include "pinfo.h"
-#include "shared_info.h"
-#include "path.h"
-#include "fhandler.h"
-#include "ntdll.h"
-
typedef const device *KR_device_t;
}
%type KR_device_t
%local {
-
-static int
-exists_internal (const device&)
-{
- return false;
-}
-
-static int
-exists (const device&)
-{
- return true;
-}
-
-/* Check existence of POSIX devices backed by real NT devices. */
-static int
-exists_ntdev (const device& dev)
-{
- WCHAR wpath[MAX_PATH];
- UNICODE_STRING upath;
- OBJECT_ATTRIBUTES attr;
- HANDLE h;
- NTSTATUS status;
-
- sys_mbstowcs (wpath, MAX_PATH, dev.native);
- RtlInitUnicodeString (&upath, wpath);
- InitializeObjectAttributes (&attr, &upath, OBJ_CASE_INSENSITIVE, NULL, NULL);
- /* Except for the serial IO devices, the native paths are
- direct device paths, not symlinks, so every status code
- except for "NOT_FOUND" means the device exists. */
- status = NtOpenSymbolicLinkObject (&h, SYMBOLIC_LINK_QUERY, &attr);
- switch (status)
- {
- case STATUS_OBJECT_NAME_NOT_FOUND:
- case STATUS_OBJECT_PATH_NOT_FOUND:
- return false;
- case STATUS_SUCCESS:
- NtClose (h);
- default:
- break;
- }
- return true;
-}
-
-/* Don't list via readdir but allow as a direct reference. */
-static int
-exists_ntdev_silent (const device& dev)
-{
- return exists_ntdev (dev) ? -1 : false;
-}
-
-static int
-exists_console (const device& dev)
-{
- int devn = *const_cast<device *> (&dev);
- switch (devn)
- {
- case FH_CONSOLE:
- case FH_CONIN:
- case FH_CONOUT:
- return fhandler_console::exists ();
- default:
- /* Only show my own console device (for now?) */
- return iscons_dev (myself->ctty) && myself->ctty == devn;
- }
-}
-
-static int
-exists_pty (const device& dev)
-{
- /* Only existing slave ptys. */
- return cygwin_shared->tty.connect (dev.get_minor ()) != -1;
-}
-
const device dev_cygdrive_storage =
- {"/cygdrive", {FH_CYGDRIVE}, "/cygdrive", exists};
+ {"/cygdrive", {FH_CYGDRIVE}, "/cygdrive"};
const device dev_fs_storage =
- {"", {FH_FS}, "", exists};
+ {"", {FH_FS}, ""};
const device dev_proc_storage =
- {"", {FH_PROC}, "", exists};
+ {"", {FH_PROC}, ""};
const device dev_procnet_storage =
- {"", {FH_PROCNET}, "", exists};
+ {"", {FH_PROCNET}, ""};
const device dev_procsys_storage =
- {"", {FH_PROCSYS}, "", exists};
+ {"", {FH_PROCSYS}, ""};
const device dev_procsysvipc_storage =
- {"", {FH_PROCSYSVIPC}, "", exists};
+ {"", {FH_PROCSYSVIPC}, ""};
const device dev_netdrive_storage =
- {"", {FH_NETDRIVE}, "", exists};
+ {"", {FH_NETDRIVE}, ""};
+
+#if 0
+const device dev_dev_storage =
+ {"/dev", {FH_DEV}, "/dev"};
+#endif
const device dev_registry_storage =
- {"", {FH_REGISTRY}, "", exists_internal};
+ {"", {FH_REGISTRY}, ""};
const device dev_piper_storage =
- {"", {FH_PIPER}, "", exists_internal};
+ {"", {FH_PIPER}, ""};
const device dev_pipew_storage =
- {"", {FH_PIPEW}, "", exists_internal};
+ {"", {FH_PIPEW}, ""};
const device dev_tcp_storage =
- {"", {FH_TCP}, "", exists_internal};
+ {"", {FH_TCP}, ""};
const device dev_udp_storage =
- {"", {FH_UDP}, "", exists_internal};
+ {"", {FH_UDP}, ""};
const device dev_stream_storage =
- {"", {FH_STREAM}, "", exists_internal};
+ {"", {FH_STREAM}, ""};
const device dev_dgram_storage =
- {"", {FH_DGRAM}, "", exists_internal};
+ {"", {FH_DGRAM}, ""};
const device dev_bad_storage =
- {"", {FH_NADA}, "", exists_internal};
+ {"", {FH_NADA}, ""};
const device dev_error_storage =
- {"", {FH_ERROR}, "", exists_internal};
-
+ {"", {FH_ERROR}, ""};
#define BRACK(x) {devn_int: x}
+
%storage_here
}
-/* Internal devices below are prefixed with a ":". This moves them out of
- the POSIX namespace. */
%%
-"/dev", BRACK(FH_DEV), "/dev", exists, S_IFDIR
-"/dev/tty", BRACK(FH_TTY), "/dev/tty", exists, S_IFCHR
-"/dev/pty%(0-63)d", BRACK(FHDEV(DEV_PTYS_MAJOR, {$1})), "/dev/pty{$1}", exists_pty, S_IFCHR, =ptys_dev
-":ptym%(0-63)d", BRACK(FHDEV(DEV_PTYM_MAJOR, {$1})), "/dev/ptym{$1}", exists_internal, S_IFCHR, =ptym_dev
-"/dev/cons%(0-63)d", BRACK(FHDEV(DEV_CONS_MAJOR, {$1})), "/dev/cons{$1}", exists_console, S_IFCHR, =cons_dev
-"/dev/console", BRACK(FH_CONSOLE), "/dev/console", exists_console, S_IFCHR, =console_dev
-"/dev/ptmx", BRACK(FH_PTMX), "/dev/ptmx", exists, S_IFCHR
-"/dev/windows", BRACK(FH_WINDOWS), "/dev/windows", exists, S_IFCHR
-"/dev/dsp", BRACK(FH_OSS_DSP), "/dev/dsp", exists, S_IFCHR
-"/dev/conin", BRACK(FH_CONIN), "/dev/conin", exists_console, S_IFCHR
-"/dev/conout", BRACK(FH_CONOUT), "/dev/conout", exists_console, S_IFCHR
-"/dev/null", BRACK(FH_NULL), "\\Device\\Null", exists_ntdev, S_IFCHR
-"/dev/zero", BRACK(FH_ZERO), "/dev/zero", exists, S_IFCHR
-"/dev/full", BRACK(FH_FULL), "/dev/full", exists, S_IFCHR
-"/dev/random", BRACK(FH_RANDOM), "/dev/random", exists, S_IFCHR
-"/dev/urandom", BRACK(FH_URANDOM), "/dev/urandom", exists, S_IFCHR, =urandom_dev
-"/dev/mem", BRACK(FH_MEM), "/dev/mem", exists, S_IFCHR
-"/dev/kmem", BRACK(FH_KMEM), "/dev/kmem", exists, S_IFCHR
-"/dev/clipboard", BRACK(FH_CLIPBOARD), "/dev/clipboard", exists, S_IFCHR
-"/dev/port", BRACK(FH_PORT), "/dev/port", exists, S_IFCHR
-"/dev/com%(1-16)d", BRACK(FHDEV(DEV_SERIAL_MAJOR, {$1 - 1})), "\\??\\COM{$1}", exists_ntdev_silent, S_IFCHR
-"/dev/ttyS%(0-63)d", BRACK(FHDEV(DEV_SERIAL_MAJOR, {$1})), "\\??\\COM{$1 + 1}", exists_ntdev, S_IFCHR
-":pipe", BRACK(FH_PIPE), "/dev/pipe", exists_internal, S_IFCHR
-":fifo", BRACK(FH_FIFO), "/dev/fifo", exists_internal, S_IFCHR
-"/dev/st%(0-127)d", BRACK(FHDEV(DEV_TAPE_MAJOR, {$1})), "\\Device\\Tape{$1}", exists_ntdev, S_IFBLK
-"/dev/nst%(0-127)d", BRACK(FHDEV(DEV_TAPE_MAJOR, {$1 + 128})), "\\Device\\Tape{$1}", exists_ntdev, S_IFBLK
-"/dev/fd%(0-15)d", BRACK(FHDEV(DEV_FLOPPY_MAJOR, {$1})), "\\Device\\Floppy{$1}", exists_ntdev, S_IFBLK
-"/dev/scd%(0-15)d", BRACK(FHDEV(DEV_CDROM_MAJOR, {$1})), "\\Device\\CdRom{$1}", exists_ntdev, S_IFBLK
-"/dev/sr%(0-15)d", BRACK(FHDEV(DEV_CDROM_MAJOR, {$1})), "\\Device\\CdRom{$1}", exists_ntdev, S_IFBLK
-"/dev/sd%{a-z}s", BRACK(FH_SD{uc $1}), "\\Device\\Harddisk{ord($1) - ord('a')}\\Partition0", exists_ntdev, S_IFBLK
-"/dev/sda%{a-z}s", BRACK(FH_SDA{uc $1}), "\\Device\\Harddisk{26 + ord($1) - ord('a')}\\Partition0", exists_ntdev, S_IFBLK
-"/dev/sdb%{a-z}s", BRACK(FH_SDB{uc $1}), "\\Device\\Harddisk{52 + ord($1) - ord('a')}\\Partition0", exists_ntdev, S_IFBLK
-"/dev/sdc%{a-z}s", BRACK(FH_SDC{uc $1}), "\\Device\\Harddisk{78 + ord($1) - ord('a')}\\Partition0", exists_ntdev, S_IFBLK
-"/dev/sdd%{a-x}s", BRACK(FH_SDD{uc $1}), "\\Device\\Harddisk{104 + ord($1) - ord('a')}\\Partition0", exists_ntdev, S_IFBLK
-"/dev/sd%{a-z}s%(1-15)d", BRACK(FH_SD{uc $1} | {$2}), "\\Device\\Harddisk{ord($1) - ord('a')}\\Partition{$2 % 16}", exists_ntdev, S_IFBLK
-"/dev/sda%{a-z}s%(1-15)d", BRACK(FH_SDA{uc $1} | {$2}), "\\Device\\Harddisk{26 + ord($1) - ord('a')}\\Partition{$2 % 16}", exists_ntdev, S_IFBLK
-"/dev/sdb%{a-z}s%(1-15)d", BRACK(FH_SDB{uc $1} | {$2}), "\\Device\\Harddisk{52 + ord($1) - ord('a')}\\Partition{$2 % 16}", exists_ntdev, S_IFBLK
-"/dev/sdc%{a-z}s%(1-15)d", BRACK(FH_SDC{uc $1} | {$2}), "\\Device\\Harddisk{78 + ord($1) - ord('a')}\\Partition{$2 % 16}", exists_ntdev, S_IFBLK
-"/dev/sdd%{a-x}s%(1-15)d", BRACK(FH_SDD{uc $1} | {$2}), "\\Device\\Harddisk{104 + ord($1) - ord('a')}\\Partition{$2 % 16}", exists_ntdev, S_IFBLK
-"/dev/kmsg", BRACK(FH_KMSG), "\\Device\\MailSlot\\cygwin\\dev\\kmsg", exists_ntdev, S_IFCHR
+"/dev/tty", BRACK(FH_TTY), "/dev/tty"
+"/dev/pty%(0-63)d", BRACK(FHDEV(DEV_PTYS_MAJOR, {$1})), "/dev/pty{$1}", ptys_dev
+"/dev/ptym%(0-63)d", BRACK(FHDEV(DEV_PTYM_MAJOR, {$1})), "/dev/ptym{$1}", ptym_dev
+"/dev/cons%(0-63)d", BRACK(FHDEV(DEV_CONS_MAJOR, {$1})), "/dev/cons{$1}", cons_dev
+"/dev/console", BRACK(FH_CONSOLE), "/dev/console", console_dev
+"/dev/ptmx", BRACK(FH_PTMX), "/dev/ptmx"
+"/dev/windows", BRACK(FH_WINDOWS), "/dev/windows"
+"/dev/dsp", BRACK(FH_OSS_DSP), "/dev/dsp"
+"/dev/conin", BRACK(FH_CONIN), "/dev/conin"
+"/dev/conout", BRACK(FH_CONOUT), "/dev/conout"
+"/dev/null", BRACK(FH_NULL), "\\Device\\Null"
+"/dev/zero", BRACK(FH_ZERO), "/dev/zero"
+"/dev/full", BRACK(FH_FULL), "/dev/full"
+"/dev/random", BRACK(FH_RANDOM), "/dev/random"
+"/dev/urandom", BRACK(FH_URANDOM), "/dev/urandom", urandom_dev
+"/dev/mem", BRACK(FH_MEM), "/dev/mem"
+"/dev/kmem", BRACK(FH_KMEM), "/dev/mem"
+"/dev/clipboard", BRACK(FH_CLIPBOARD), "/dev/clipboard"
+"/dev/port", BRACK(FH_PORT), "/dev/port"
+"/dev/com%(1-16)d", BRACK(FHDEV(DEV_SERIAL_MAJOR, {$1 - 1})), "\\??\\COM{$1}"
+"/dev/ttyS%(0-63)d", BRACK(FHDEV(DEV_SERIAL_MAJOR, {$1})), "\\??\\COM{$1 + 1}"
+"/dev/pipe", BRACK(FH_PIPE), "/dev/pipe"
+"/dev/fifo", BRACK(FH_FIFO), "/dev/fifo"
+"/dev/st%(0-127)d", BRACK(FHDEV(DEV_TAPE_MAJOR, {$1})), "\\Device\\Tape{$1}"
+"/dev/nst%(0-127)d", BRACK(FHDEV(DEV_TAPE_MAJOR, {$1 + 128})), "\\Device\\Tape{$1}"
+"/dev/fd%(0-15)d", BRACK(FHDEV(DEV_FLOPPY_MAJOR, {$1})), "\\Device\\Floppy{$1}"
+"/dev/scd%(0-15)d", BRACK(FHDEV(DEV_CDROM_MAJOR, {$1})), "\\Device\\CdRom{$1}"
+"/dev/sr%(0-15)d", BRACK(FHDEV(DEV_CDROM_MAJOR, {$1})), "\\Device\\CdRom{$1}"
+"/dev/sd%{a-z}s", BRACK(FH_SD{uc $1}), "\\Device\\Harddisk{ord($1) - ord('a')}\\Partition0"
+"/dev/sda%{a-z}s", BRACK(FH_SDA{uc $1}), "\\Device\\Harddisk{26 + ord($1) - ord('a')}\\Partition0"
+"/dev/sdb%{a-z}s", BRACK(FH_SDB{uc $1}), "\\Device\\Harddisk{52 + ord($1) - ord('a')}\\Partition0"
+"/dev/sdc%{a-z}s", BRACK(FH_SDC{uc $1}), "\\Device\\Harddisk{78 + ord($1) - ord('a')}\\Partition0"
+"/dev/sdd%{a-x}s", BRACK(FH_SDD{uc $1}), "\\Device\\Harddisk{104 + ord($1) - ord('a')}\\Partition0"
+"/dev/sd%{a-z}s%(1-15)d", BRACK(FH_SD{uc $1} | {$2}), "\\Device\\Harddisk{ord($1) - ord('a')}\\Partition{$2 % 16}"
+"/dev/sda%{a-z}s%(1-15)d", BRACK(FH_SDA{uc $1} | {$2}), "\\Device\\Harddisk{26 + ord($1) - ord('a')}\\Partition{$2 % 16}"
+"/dev/sdb%{a-z}s%(1-15)d", BRACK(FH_SDB{uc $1} | {$2}), "\\Device\\Harddisk{52 + ord($1) - ord('a')}\\Partition{$2 % 16}"
+"/dev/sdc%{a-z}s%(1-15)d", BRACK(FH_SDC{uc $1} | {$2}), "\\Device\\Harddisk{78 + ord($1) - ord('a')}\\Partition{$2 % 16}"
+"/dev/sdd%{a-x}s%(1-15)d", BRACK(FH_SDD{uc $1} | {$2}), "\\Device\\Harddisk{104 + ord($1) - ord('a')}\\Partition{$2 % 16}"
+"/dev/kmsg", BRACK(FH_KMSG), "\\Device\\MailSlot\\cygwin\\dev\\kmsg"
+"/dev", BRACK(FH_DEV), "/dev"
%other {return NULL;}
%%
#undef BRACK
-
-const device *dev_storage_end = dev_storage + (sizeof dev_storage / sizeof dev_storage[0]);
-
void
device::parse (const char *s)
{
@@ -207,14 +129,14 @@ device::init ()
void
device::parse (_major_t major, _minor_t minor)
{
- _dev_t devn = FHDEV (major, minor);
+ _dev_t dev = FHDEV (major, minor);
d.devn = 0;
- for (const device *devidx = dev_storage; devidx < dev_storage_end; devidx++)
- if (devidx->d.devn == devn)
+ for (unsigned i = 0; i < (sizeof (dev_storage) / sizeof (dev_storage[0])); i++)
+ if (dev_storage[i].d.devn == dev)
{
- *this = *devidx;
+ *this = dev_storage[i];
break;
}
diff --git a/winsup/cygwin/dir.cc b/winsup/cygwin/dir.cc
index 5ecd0a6d7..2fb6eac6e 100644
--- a/winsup/cygwin/dir.cc
+++ b/winsup/cygwin/dir.cc
@@ -347,11 +347,6 @@ rmdir (const char *dir)
set_errno (ENOENT);
else if (has_dot_last_component (dir, false))
set_errno (EINVAL);
- else if (isdev_dev (fh->dev ()))
- {
- set_errno (ENOTEMPTY);
- goto done;
- }
else if (!fh->rmdir ())
res = 0;
diff --git a/winsup/cygwin/dll_init.cc b/winsup/cygwin/dll_init.cc
index 420f0d8f2..4a59d0a09 100644
--- a/winsup/cygwin/dll_init.cc
+++ b/winsup/cygwin/dll_init.cc
@@ -106,61 +106,13 @@ dll::init ()
return ret;
}
-/* Look for a dll based on the full path.
-
- CV, 2012-03-04: Per MSDN, If a DLL with the same module name is already
- loaded in memory, the system uses the loaded DLL, no matter which directory
- it is in. The system does not search for the DLL. See
- http://msdn.microsoft.com/en-us/library/ms682586%28v=vs.85%29.aspx
-
- On 2012-02-08 I interpreted "module name" as "basename". So the assumption
- was that the Windows Loader does not load another DLL with the same basename,
- if one such DLL is already loaded. Consequentially I changed the code so
- that DLLs are only compared by basename.
-
- This assumption was obviously wrong, as the perl dynaloader proves. It
- loads multiple DLLs with the same basename into memory, just from different
- locations. This mechanism is broken when only comparing basenames in the
- below code.
-
- However, the original problem reported on 2012-02-07 was a result of
- a subtil difference between the paths returned by different calls to
- GetModuleFileNameW: Sometimes the path is a plain DOS path, sometimes
- it's preceeded by the long pathname prefix "\\?\".
-
- So I reverted the original change from 2012-02-08 and only applied the
- following fix: Check if the path is preceeded by a long pathname prefix,
- and, if so, drop it forthwith so that subsequent full path comparisons
- work as expected.
-
- At least that was the original idea. In fact there are two case, linked
- and runtime loaded DLLs, which have to be distinguished:
-
- - Linked DLLs are loaded by only specifying the basename of the DLL and
- searching it using the system DLL search order as given in the
- aforementioned MSDN URL.
-
- - Runtime loaded DLLs are specified with the full path since that's how
- dlopen works.
-
- In effect, we have to be careful not to mix linked and loaded DLLs.
- For more info how this gets accomplished, see the comments at the start
- of dll_list::alloc, as well as the comment preceeding the definition of
- the in_load_after_fork bool later in the file. */
+/* Look for a dll based on the basename.
+ Only compare basenames for DLLs. Per MSDN, the Windows loader re-uses
+ the already loaded DLL, if the new DLL has the same basename as the
+ already loaded DLL. It will not try to load the new DLL at all. See
+ http://msdn.microsoft.com/en-us/library/ms682586%28v=vs.85%29.aspx */
dll *
-dll_list::operator[] (const PWCHAR name)
-{
- dll *d = &start;
- while ((d = d->next) != NULL)
- if (!wcscasecmp (name, d->name))
- return d;
-
- return NULL;
-}
-
-/* Look for a dll based on the basename. */
-dll *
-dll_list::find_by_modname (const PWCHAR modname)
+dll_list::operator[] (const PWCHAR modname)
{
dll *d = &start;
while ((d = d->next) != NULL)
@@ -176,48 +128,21 @@ dll_list::find_by_modname (const PWCHAR modname)
dll *
dll_list::alloc (HINSTANCE h, per_process *p, dll_type type)
{
- WCHAR buf[NT_MAX_PATH];
- GetModuleFileNameW (h, buf, sizeof (buf));
- PWCHAR name = buf;
- if (!wcsncmp (name, L"\\\\?\\", 4))
- {
- name += 4;
- if (!wcsncmp (name, L"UNC\\", 4))
- {
- name += 2;
- *name = L'\\';
- }
- }
+ WCHAR name[NT_MAX_PATH];
+ GetModuleFileNameW (h, name, sizeof (name));
DWORD namelen = wcslen (name);
PWCHAR modname = wcsrchr (name, L'\\') + 1;
guard (true);
- /* Already loaded? For linked DLLs, only compare the basenames. Linked
- DLLs are loaded using just the basename and the default DLL search path.
- The Windows loader picks up the first one it finds. */
- dll *d = (type == DLL_LINK) ? dlls.find_by_modname (modname) : dlls[name];
+ /* Already loaded? */
+ dll *d = dlls[modname];
if (d)
{
if (!in_forkee)
d->count++; /* Yes. Bump the usage count. */
else if (d->handle != h)
fabort ("%W: Loaded to different address: parent(%p) != child(%p)",
- name, d->handle, h);
- /* If this DLL has been linked against, and the full path differs, try
- to sanity check if this is the same DLL, just in another path. */
- else if (type == DLL_LINK && wcscasecmp (name, d->name)
- && (d->p.data_start != p->data_start
- || d->p.data_start != p->data_start
- || d->p.bss_start != p->bss_start
- || d->p.bss_end != p->bss_end
- || d->p.ctors != p->ctors
- || d->p.dtors != p->dtors))
- fabort ("\nLoaded different DLL with same basename in forked child,\n"
- "parent loaded: %W\n"
- " child loaded: %W\n"
- "The DLLs differ, so it's not safe to run the forked child.\n"
- "Make sure to remove the offending DLL before trying again.",
- d->name, name);
+ modname, d->handle, h);
d->p = p;
}
else
@@ -275,7 +200,7 @@ void dll_list::populate_deps (dll* d)
{
char* modname = pef->rva (id->Name);
sys_mbstowcs (wmodname, NT_MAX_PATH, modname);
- if (dll* dep = find_by_modname (wmodname))
+ if (dll* dep = dlls[wmodname])
{
if (d->ndeps >= maxdeps)
{
@@ -486,12 +411,6 @@ dll_list::reserve_space ()
d->modname, d->handle);
}
-/* We need the in_load_after_fork flag so dll_dllcrt0_1 can decide at fork
- time if this is a linked DLL or a dynamically loaded DLL. In either case,
- both, cygwin_finished_initializing and in_forkee are true, so they are not
- sufficient to discern the situation. */
-static bool NO_COPY in_load_after_fork;
-
/* Reload DLLs after a fork. Iterates over the list of dynamically loaded
DLLs and attempts to load them in the same place as they were loaded in the
parent. */
@@ -501,9 +420,7 @@ dll_list::load_after_fork (HANDLE parent)
// moved to frok::child for performance reasons:
// dll_list::reserve_space();
- in_load_after_fork = true;
load_after_fork_impl (parent, dlls.istart (DLL_LOAD), 0);
- in_load_after_fork = false;
}
static int const DLL_RETRY_MAX = 6;
@@ -630,7 +547,7 @@ dll_dllcrt0_1 (VOID *x)
_pei386_runtime_relocator (p);
}
- bool linked = !cygwin_finished_initializing && !in_load_after_fork;
+ bool linked = !in_forkee && !cygwin_finished_initializing;
/* Broken DLLs built against Cygwin versions 1.7.0-49 up to 1.7.0-57
override the cxx_malloc pointer in their DLL initialization code,
diff --git a/winsup/cygwin/dll_init.h b/winsup/cygwin/dll_init.h
index afe7a0e70..aa32dc08f 100644
--- a/winsup/cygwin/dll_init.h
+++ b/winsup/cygwin/dll_init.h
@@ -90,7 +90,6 @@ public:
void load_after_fork (HANDLE);
void reserve_space ();
void load_after_fork_impl (HANDLE, dll* which, int retries);
- dll *find_by_modname (const PWCHAR name);
void populate_deps (dll* d);
void topsort ();
void topsort_visit (dll* d, bool goto_tail);
diff --git a/winsup/cygwin/dtable.cc b/winsup/cygwin/dtable.cc
index 2a9f8b078..612506e0c 100644
--- a/winsup/cygwin/dtable.cc
+++ b/winsup/cygwin/dtable.cc
@@ -12,6 +12,7 @@ details. */
#define __INSIDE_CYGWIN_NET__
#include "winsup.h"
+#include <sys/socket.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
@@ -64,11 +65,10 @@ dtable_init ()
void __stdcall
set_std_handle (int fd)
{
- fhandler_base *fh = cygheap->fdtab[fd];
if (fd == 0)
- SetStdHandle (std_consts[fd], fh ? fh->get_handle () : NULL);
+ SetStdHandle (std_consts[fd], cygheap->fdtab[fd]->get_handle ());
else if (fd <= 2)
- SetStdHandle (std_consts[fd], fh ? fh->get_output_handle () : NULL);
+ SetStdHandle (std_consts[fd], cygheap->fdtab[fd]->get_output_handle ());
}
int
@@ -242,10 +242,8 @@ dtable::release (int fd)
{
if (fds[fd]->need_fixup_before ())
dec_need_fixup_before ();
- fds[fd]->dec_refcnt ();
+ fds[fd]->refcnt (-1);
fds[fd] = NULL;
- if (fd <= 2)
- set_std_handle (fd);
}
extern "C" int
@@ -255,10 +253,8 @@ cygwin_attach_handle_to_fd (char *name, int fd, HANDLE handle, mode_t bin,
if (fd == -1)
fd = cygheap->fdtab.find_unused_handle ();
fhandler_base *fh = build_fh_name (name);
- if (!fh)
- return -1;
cygheap->fdtab[fd] = fh;
- cygheap->fdtab[fd]->inc_refcnt ();
+ cygheap->fdtab[fd]->refcnt (1);
fh->init (handle, myaccess, bin ?: fh->pc_binmode ());
return fd;
}
@@ -338,9 +334,6 @@ dtable::init_std_file_from_handle (int fd, HANDLE handle)
else
fh = build_fh_name (name);
- if (!fh)
- return;
-
if (name[0])
{
bin = fh->pc_binmode ();
@@ -397,7 +390,7 @@ dtable::init_std_file_from_handle (int fd, HANDLE handle)
fh->open_setup (openflags);
fh->usecount = 0;
cygheap->fdtab[fd] = fh;
- cygheap->fdtab[fd]->inc_refcnt ();
+ cygheap->fdtab[fd]->refcnt (1);
set_std_handle (fd);
paranoid_printf ("fd %d, handle %p", fd, handle);
}
@@ -460,6 +453,9 @@ fh_alloc (path_conv& pc)
case DEV_PTYM_MAJOR:
fh = cnew (fhandler_pty_master, pc.dev.get_minor ());
break;
+ case DEV_CYGDRIVE_MAJOR:
+ fh = cnew (fhandler_cygdrive);
+ break;
case DEV_FLOPPY_MAJOR:
case DEV_CDROM_MAJOR:
case DEV_SD_MAJOR:
@@ -482,7 +478,7 @@ fh_alloc (path_conv& pc)
fh = cnew (fhandler_console, pc.dev);
break;
default:
- switch ((DWORD) pc.dev)
+ switch ((int) pc.dev)
{
case FH_CONSOLE:
case FH_CONIN:
@@ -529,7 +525,6 @@ fh_alloc (path_conv& pc)
fh = cnew (fhandler_dev_random);
break;
case FH_MEM:
- case FH_KMEM:
case FH_PORT:
fh = cnew (fhandler_dev_mem);
break;
@@ -561,12 +556,6 @@ fh_alloc (path_conv& pc)
case FH_NETDRIVE:
fh = cnew (fhandler_netdrive);
break;
- case FH_DEV:
- fh = cnew (fhandler_dev);
- break;
- case FH_CYGDRIVE:
- fh = cnew (fhandler_cygdrive);
- break;
case FH_TTY:
if (!pc.isopen ())
{
@@ -607,15 +596,8 @@ fh_alloc (path_conv& pc)
fh = cnew (fhandler_nodevice);
else if (fh->dev () == FH_ERROR)
{
- if (!pc.isopen () && pc.dev.isfs ())
- fh->dev () = pc.dev; /* Special case: This file actually exists on
- disk and we're not trying to open it so just
- return the info from pc. */
- else
- {
- delete fh;
- fh = NULL;
- }
+ delete fh;
+ fh = NULL;
}
return fh;
}
@@ -712,15 +694,6 @@ dtable::dup3 (int oldfd, int newfd, int flags)
MALLOC_CHECK;
debug_printf ("dup3 (%d, %d, %p)", oldfd, newfd, flags);
lock ();
- bool do_unlock = true;
- bool unlock_on_return;
- if (!(flags & O_EXCL))
- unlock_on_return = true; /* Relinquish lock on return */
- else
- {
- flags &= ~O_EXCL;
- unlock_on_return = false; /* Return with lock set on success */
- }
if (not_open (oldfd))
{
@@ -772,12 +745,10 @@ dtable::dup3 (int oldfd, int newfd, int flags)
if ((res = newfd) <= 2)
set_std_handle (res);
- do_unlock = unlock_on_return;
done:
MALLOC_CHECK;
- if (do_unlock)
- unlock ();
+ unlock ();
syscall_printf ("%R = dup3(%d, %d, %p)", res, oldfd, newfd, flags);
return res;
@@ -858,17 +829,6 @@ dtable::set_file_pointers_for_exec ()
}
void
-dtable::fixup_close (size_t i, fhandler_base *fh)
-{
- if (fh->archetype)
- {
- debug_printf ("closing fd %d since it is an archetype", i);
- fh->close_with_arch ();
- }
- release (i);
-}
-
-void
dtable::fixup_after_exec ()
{
first_fd_for_open = 0;
@@ -878,11 +838,15 @@ dtable::fixup_after_exec ()
{
fh->clear_readahead ();
fh->fixup_after_exec ();
- /* Close the handle if it's close-on-exec or if an error was detected
- (typically with opening a console in a gui app) by fixup_after_exec.
- */
- if (fh->close_on_exec () || (!fh->nohandle () && !fh->get_io_handle ()))
- fixup_close (i, fh);
+ if (fh->close_on_exec ())
+ {
+ if (fh->archetype)
+ {
+ debug_printf ("closing fd %d since it is an archetype", i);
+ fh->close_with_arch ();
+ }
+ release (i);
+ }
else if (fh->get_popen_pid ())
close (i);
else if (i == 0)
@@ -903,13 +867,6 @@ dtable::fixup_after_fork (HANDLE parent)
{
debug_printf ("fd %d (%s)", i, fh->get_name ());
fh->fixup_after_fork (parent);
- if (!fh->nohandle () && !fh->get_io_handle ())
- {
- /* This should actually never happen but it's here to make sure
- we don't crash due to access of an unopened file handle. */
- fixup_close (i, fh);
- continue;
- }
}
if (i == 0)
SetStdHandle (std_consts[i], fh->get_io_handle ());
diff --git a/winsup/cygwin/dtable.h b/winsup/cygwin/dtable.h
index 7b4cd5d62..d0065f421 100644
--- a/winsup/cygwin/dtable.h
+++ b/winsup/cygwin/dtable.h
@@ -9,8 +9,6 @@ This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
-#pragma once
-
/* Initial and increment values for cygwin's fd table */
#define NOFILE_INCR 32
/* Maximum size we allow expanding to. */
@@ -56,8 +54,6 @@ public:
fhandler_base *dup_worker (fhandler_base *oldfh, int flags);
int extend (int howmuch);
void fixup_after_fork (HANDLE);
- void fixup_close (size_t, fhandler_base *);
-
inline int not_open (int fd)
{
lock ();
@@ -89,7 +85,6 @@ public:
void fixup_before_fork (DWORD win_proc_id);
friend void dtable_init ();
friend void __stdcall close_all_files (bool);
- friend int dup_finish (int, int, int);
friend class fhandler_disk_file;
friend class cygheap_fdmanip;
friend class cygheap_fdget;
diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc
index ae3944a6c..38a190cc3 100644
--- a/winsup/cygwin/environ.cc
+++ b/winsup/cygwin/environ.cc
@@ -2,7 +2,7 @@
process's environment.
Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
@@ -32,6 +32,11 @@ details. */
#include "shared_info.h"
#include "ntdll.h"
+extern bool dos_file_warning;
+extern bool ignore_case_with_glob;
+extern bool allow_winsymlinks;
+bool reset_com = false;
+
static char **lastenviron;
/* Parse CYGWIN options */
@@ -40,9 +45,8 @@ static NO_COPY bool export_settings = false;
enum settings
{
+ justset,
isfunc,
- setdword,
- setbool,
setbit
};
@@ -112,17 +116,15 @@ static struct parse_thing
} values[2];
} known[] NO_COPY =
{
- {"detect_bloda", {&detect_bloda}, setbool, NULL, {{false}, {true}}},
- {"dosfilewarning", {&dos_file_warning}, setbool, NULL, {{false}, {true}}},
+ {"dosfilewarning", {&dos_file_warning}, justset, NULL, {{false}, {true}}},
{"error_start", {func: error_start_init}, isfunc, NULL, {{0}, {0}}},
- {"export", {&export_settings}, setbool, NULL, {{false}, {true}}},
+ {"export", {&export_settings}, justset, NULL, {{false}, {true}}},
{"glob", {func: glob_init}, isfunc, NULL, {{0}, {s: "normal"}}},
- {"pipe_byte", {&pipe_byte}, setbool, NULL, {{false}, {true}}},
{"proc_retry", {func: set_proc_retry}, isfunc, NULL, {{0}, {5}}},
- {"reset_com", {&reset_com}, setbool, NULL, {{false}, {true}}},
+ {"reset_com", {&reset_com}, justset, NULL, {{false}, {true}}},
{"tty", {func: tty_is_gone}, isfunc, NULL, {{0}, {0}}},
- {"winsymlinks", {&allow_winsymlinks}, setbool, NULL, {{false}, {true}}},
- {NULL, {0}, setdword, 0, {{0}, {0}}}
+ {"winsymlinks", {&allow_winsymlinks}, justset, NULL, {{false}, {true}}},
+ {NULL, {0}, justset, 0, {{0}, {0}}}
};
/* Parse a string of the form "something=stuff somethingelse=more-stuff",
@@ -182,20 +184,13 @@ parse_options (const char *inbuf)
k->values[istrue].s : eq);
debug_printf ("%s (called func)", k->name);
break;
- case setdword:
+ case justset:
if (!istrue || !eq)
*k->setting.x = k->values[istrue].i;
else
*k->setting.x = strtol (eq, NULL, 0);
debug_printf ("%s %d", k->name, *k->setting.x);
break;
- case setbool:
- if (!istrue || !eq)
- *k->setting.b = k->values[istrue].i;
- else
- *k->setting.b = !!strtol (eq, NULL, 0);
- debug_printf ("%s%s", *k->setting.b ? "" : "no", k->name);
- break;
case setbit:
*k->setting.x &= ~k->values[istrue].i;
if (istrue || (eq && strtol (eq, NULL, 0)))
diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc
index 649574fc2..c6497f3b1 100644
--- a/winsup/cygwin/exceptions.cc
+++ b/winsup/cygwin/exceptions.cc
@@ -1,7 +1,7 @@
/* exceptions.cc
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -19,8 +19,8 @@ details. */
#include <syslog.h>
#include <wchar.h>
-#include "cygtls.h"
#include "pinfo.h"
+#include "cygtls.h"
#include "sigproc.h"
#include "shared_info.h"
#include "perprocess.h"
@@ -37,13 +37,16 @@ details. */
char debugger_command[2 * NT_MAX_PATH + 20];
-extern "C" void sigdelayed ();
+extern "C" {
+extern void sigdelayed ();
+};
static BOOL WINAPI ctrl_c_handler (DWORD);
/* This is set to indicate that we have already exited. */
static NO_COPY int exit_already = 0;
+static muto NO_COPY mask_sync;
NO_COPY static struct
{
@@ -445,7 +448,7 @@ try_to_debug (bool waitloop)
return dbg;
}
-extern "C" void WINAPI RtlUnwind (void *, void *, PEXCEPTION_RECORD, void *);
+extern "C" DWORD __stdcall RtlUnwind (void *, void *, void *, DWORD);
static void __stdcall rtl_unwind (exception_list *, PEXCEPTION_RECORD) __attribute__ ((noinline, regparm (3)));
void __stdcall
rtl_unwind (exception_list *frame, PEXCEPTION_RECORD e)
@@ -660,7 +663,7 @@ exception::handle (EXCEPTION_RECORD *e, exception_list *frame, CONTEXT *in, void
stackdump ((DWORD) ebp, in, e);
}
- if ((NTSTATUS) e->ExceptionCode == STATUS_ACCESS_VIOLATION)
+ if (e->ExceptionCode == STATUS_ACCESS_VIOLATION)
{
int error_code = 0;
if (si.si_code == SEGV_ACCERR) /* Address present */
@@ -672,7 +675,8 @@ exception::handle (EXCEPTION_RECORD *e, exception_list *frame, CONTEXT *in, void
klog (LOG_INFO, "%s[%d]: segfault at %08x rip %08x rsp %08x error %d",
__progname, myself->pid,
e->ExceptionInformation[1], in->Eip, in->Esp,
- error_code);
+ ((in->Eip >= 0x61000000 && in->Eip < 0x61200000)
+ ? 0 : 4) | (e->ExceptionInformation[0] << 1));
}
/* Flag signal + core dump */
@@ -706,11 +710,11 @@ handle_sigsuspend (sigset_t tempmask)
{
sigset_t oldmask = _my_tls.sigmask; // Remember for restoration
- set_signal_mask (_my_tls.sigmask, tempmask);
+ set_signal_mask (tempmask, _my_tls.sigmask);
sigproc_printf ("oldmask %p, newmask %p", oldmask, tempmask);
pthread_testcancel ();
- cancelable_wait (NULL, cw_infinite, cw_cancel | cw_cancel_self | cw_sig_eintr);
+ cancelable_wait (signal_arrived);
set_sig_errno (EINTR); // Per POSIX
@@ -733,29 +737,31 @@ sig_handle_tty_stop (int sig)
/* Silently ignore attempts to suspend if there is no accommodating
cygwin parent to deal with this behavior. */
if (!myself->cygstarted)
- myself->process_state &= ~PID_STOPPED;
- else
{
- myself->stopsig = sig;
- myself->alert_parent (sig);
- sigproc_printf ("process %d stopped by signal %d", myself->pid, sig);
- /* FIXME! This does nothing to suspend anything other than the main
- thread. */
- DWORD res = cancelable_wait (NULL, cw_infinite, cw_sig_eintr);
- switch (res)
- {
- case WAIT_SIGNALED:
- myself->stopsig = SIGCONT;
- myself->alert_parent (SIGCONT);
- break;
- default:
- api_fatal ("WaitSingleObject returned %d", res);
- break;
- }
+ myself->process_state &= ~PID_STOPPED;
+ return;
+ }
+
+ myself->stopsig = sig;
+ myself->alert_parent (sig);
+ sigproc_printf ("process %d stopped by signal %d", myself->pid, sig);
+ HANDLE w4[2];
+ w4[0] = sigCONT;
+ w4[1] = signal_arrived;
+ switch (WaitForMultipleObjects (2, w4, TRUE, INFINITE))
+ {
+ case WAIT_OBJECT_0:
+ case WAIT_OBJECT_0 + 1:
+ myself->stopsig = SIGCONT;
+ myself->alert_parent (SIGCONT);
+ break;
+ default:
+ api_fatal ("WaitSingleObject failed, %E");
+ break;
}
_my_tls.incyg = 0;
}
-} /* end extern "C" */
+}
bool
_cygtls::interrupt_now (CONTEXT *cx, int sig, void *handler,
@@ -798,11 +804,20 @@ _cygtls::interrupt_setup (int sig, void *handler, struct sigaction& siga)
this->sig = sig; // Should always be last thing set to avoid a race
- if (incyg && signal_arrived)
- SetEvent (signal_arrived);
+ if (!event)
+ threadkill = false;
+ else
+ {
+ HANDLE h = event;
+ event = NULL;
+ SetEvent (h);
+ }
+ /* Clear any waiting threads prior to dispatching to handler function */
+ int res = SetEvent (signal_arrived); // For an EINTR case
proc_subproc (PROC_CLEARWAIT, 1);
- sigproc_printf ("armed signal_arrived %p, signal %d", signal_arrived, sig);
+ sigproc_printf ("armed signal_arrived %p, signal %d, res %d", signal_arrived,
+ sig, res);
}
extern "C" void __stdcall
@@ -850,7 +865,7 @@ setup_handler (int sig, void *handler, struct sigaction& siga, _cygtls *tls)
If the thread is already suspended (which can occur when a program
has called SuspendThread on itself) then just queue the signal. */
- sigproc_printf ("suspending thread, tls %p, _main_tls %p", tls, _main_tls);
+ sigproc_printf ("suspending thread");
res = SuspendThread (hth);
/* Just set pending if thread is already suspended */
if (res)
@@ -865,7 +880,7 @@ setup_handler (int sig, void *handler, struct sigaction& siga, _cygtls *tls)
interrupted = tls->interrupt_now (&cx, sig, handler, siga);
tls->unlock ();
- ResumeThread (hth);
+ res = ResumeThread (hth);
if (interrupted)
goto out;
@@ -981,9 +996,8 @@ ctrl_c_handler (DWORD type)
tty_min *t = cygwin_shared->tty.get_cttyp ();
/* Ignore this if we're not the process group leader since it should be handled
*by* the process group leader. */
- if (t && (!have_execed || have_execed_cygwin)
- && t->getpgid () == myself->pid &&
- (GetTickCount () - t->last_ctrl_c) >= MIN_CTRL_C_SLOP)
+ if (t && t->getpgid () == myself->pid &&
+ (GetTickCount () - t->last_ctrl_c) >= MIN_CTRL_C_SLOP)
/* Otherwise we just send a SIGINT to the process group and return TRUE (to indicate
that we have handled the signal). At this point, type should be
a CTRL_C_EVENT or CTRL_BREAK_EVENT. */
@@ -1006,7 +1020,7 @@ ctrl_c_handler (DWORD type)
extern "C" void __stdcall
set_process_mask (sigset_t newmask)
{
- set_signal_mask (_my_tls.sigmask, newmask);
+ set_signal_mask (newmask, _my_tls.sigmask);
}
extern "C" int
@@ -1019,9 +1033,11 @@ sighold (int sig)
syscall_printf ("signal %d out of range", sig);
return -1;
}
+ mask_sync.acquire (INFINITE);
sigset_t mask = _my_tls.sigmask;
sigaddset (&mask, sig);
- set_signal_mask (_my_tls.sigmask, mask);
+ set_signal_mask (mask, _my_tls.sigmask);
+ mask_sync.release ();
return 0;
}
@@ -1035,9 +1051,11 @@ sigrelse (int sig)
syscall_printf ("signal %d out of range", sig);
return -1;
}
+ mask_sync.acquire (INFINITE);
sigset_t mask = _my_tls.sigmask;
sigdelset (&mask, sig);
- set_signal_mask (_my_tls.sigmask, mask);
+ set_signal_mask (mask, _my_tls.sigmask);
+ mask_sync.release ();
return 0;
}
@@ -1055,6 +1073,7 @@ sigset (int sig, _sig_func_ptr func)
return (_sig_func_ptr) SIG_ERR;
}
+ mask_sync.acquire (INFINITE);
sigset_t mask = _my_tls.sigmask;
/* If sig was in the signal mask return SIG_HOLD, otherwise return the
previous disposition. */
@@ -1073,7 +1092,8 @@ sigset (int sig, _sig_func_ptr func)
signal (sig, func);
sigdelset (&mask, sig);
}
- set_signal_mask (_my_tls.sigmask, mask);
+ set_signal_mask (mask, _my_tls.sigmask);
+ mask_sync.release ();
return prev;
}
@@ -1084,10 +1104,11 @@ sigignore (int sig)
}
/* Update the signal mask for this process and return the old mask.
- Called from call_signal_handler */
+ Called from sigdelayed */
extern "C" sigset_t
set_process_mask_delta ()
{
+ mask_sync.acquire (INFINITE);
sigset_t newmask, oldmask;
if (_my_tls.deltamask & SIG_NONMASKABLE)
@@ -1098,35 +1119,41 @@ set_process_mask_delta ()
sigproc_printf ("oldmask %p, newmask %p, deltamask %p", oldmask, newmask,
_my_tls.deltamask);
_my_tls.sigmask = newmask;
+ mask_sync.release ();
return oldmask;
}
/* Set the signal mask for this process.
Note that some signals are unmaskable, as in UNIX. */
-
-void
-set_signal_mask (sigset_t& setmask, sigset_t newmask)
+extern "C" void __stdcall
+set_signal_mask (sigset_t newmask, sigset_t& oldmask)
{
+#ifdef CGF
+ if (&_my_tls == _sig_tls)
+ small_printf ("********* waiting in signal thread\n");
+#endif
+ mask_sync.acquire (INFINITE);
newmask &= ~SIG_NONMASKABLE;
- sigset_t mask_bits = setmask & ~newmask;
- sigproc_printf ("setmask %p, newmask %p, mask_bits %p", setmask, newmask,
+ sigset_t mask_bits = oldmask & ~newmask;
+ sigproc_printf ("oldmask %p, newmask %p, mask_bits %p", oldmask, newmask,
mask_bits);
- setmask = newmask;
+ oldmask = newmask;
if (mask_bits)
sig_dispatch_pending (true);
+ mask_sync.release ();
}
int __stdcall
sigpacket::process ()
{
- bool continue_now;
+ DWORD continue_now;
struct sigaction dummy = global_sigs[SIGSTOP];
if (si.si_signo != SIGCONT)
continue_now = false;
else
{
- continue_now = ISSTATE (myself, PID_STOPPED);
+ continue_now = myself->process_state & PID_STOPPED;
myself->stopsig = 0;
myself->process_state &= ~PID_STOPPED;
/* Clear pending stop signals */
@@ -1156,23 +1183,16 @@ sigpacket::process ()
myself->rusage_self.ru_nsignals++;
- void *handler = (void *) thissig.sa_handler;
- if (handler == SIG_IGN)
- {
- sigproc_printf ("signal %d ignored", si.si_signo);
- goto done;
- }
-
- if (have_execed)
+ bool masked;
+ void *handler;
+ if (!have_execed || (void *) thissig.sa_handler == (void *) SIG_IGN)
+ handler = (void *) thissig.sa_handler;
+ else if (tls)
+ return 1;
+ else
handler = NULL;
- if (tls)
- sigproc_printf ("using tls %p", tls);
- else
- {
- tls = cygheap->find_tls (si.si_signo);
- sigproc_printf ("using tls %p", tls);
- }
+ _cygtls *use_tls = tls ?: _main_tls;
if (si.si_signo == SIGKILL)
goto exit_sig;
@@ -1182,12 +1202,30 @@ sigpacket::process ()
goto stop;
}
- if (sigismember (&tls->sigwait_mask, si.si_signo))
+ bool insigwait_mask;
+ if ((masked = ISSTATE (myself, PID_STOPPED)))
+ insigwait_mask = false;
+ else if (tls)
+ insigwait_mask = sigismember (&tls->sigwait_mask, si.si_signo);
+ else if (!(tls = _cygtls::find_tls (si.si_signo)))
+ insigwait_mask = false;
+ else
{
- tls->sigwait_mask = 0;
- goto dosig;
+ use_tls = tls;
+ insigwait_mask = true;
}
- if (sigismember (&tls->sigmask, si.si_signo) || ISSTATE (myself, PID_STOPPED))
+
+ if (insigwait_mask)
+ goto thread_specific;
+
+ if (masked)
+ /* nothing to do */;
+ else if (sigismember (mask, si.si_signo))
+ masked = true;
+ else if (tls)
+ masked = sigismember (&tls->sigmask, si.si_signo);
+
+ if (masked)
{
sigproc_printf ("signal %d blocked", si.si_signo);
rc = -1;
@@ -1200,10 +1238,14 @@ sigpacket::process ()
if (handler == (void *) SIG_DFL)
{
+ if (insigwait_mask)
+ goto thread_specific;
if (si.si_signo == SIGCHLD || si.si_signo == SIGIO || si.si_signo == SIGCONT || si.si_signo == SIGWINCH
|| si.si_signo == SIGURG)
{
- sigproc_printf ("signal %d default is currently ignore", si.si_signo);
+ sigproc_printf ("default signal %d ignored", si.si_signo);
+ if (continue_now)
+ SetEvent (signal_arrived);
goto done;
}
@@ -1213,35 +1255,53 @@ sigpacket::process ()
goto exit_sig;
}
+ if (handler == (void *) SIG_IGN)
+ {
+ sigproc_printf ("signal %d ignored", si.si_signo);
+ goto done;
+ }
+
if (handler == (void *) SIG_ERR)
goto exit_sig;
+ use_tls->set_siginfo (this);
goto dosig;
stop:
+ /* Eat multiple attempts to STOP */
+ if (ISSTATE (myself, PID_STOPPED))
+ goto done;
handler = (void *) sig_handle_tty_stop;
thissig = dummy;
dosig:
- if (ISSTATE (myself, PID_STOPPED) && !continue_now)
- rc = -1; /* No signals delivered if stopped */
- else
- {
- tls->set_siginfo (this);
- /* Dispatch to the appropriate function. */
- sigproc_printf ("signal %d, signal handler %p", si.si_signo, handler);
- rc = setup_handler (si.si_signo, handler, thissig, tls);
- continue_now = false;
- }
+ /* Dispatch to the appropriate function. */
+ sigproc_printf ("signal %d, about to call %p", si.si_signo, handler);
+ rc = setup_handler (si.si_signo, handler, thissig, use_tls);
done:
+ tls = use_tls;
if (continue_now)
- SetEvent (tls->signal_arrived);
+ SetEvent (sigCONT);
sigproc_printf ("returning %d", rc);
return rc;
+thread_specific:
+ use_tls->sig = si.si_signo;
+ use_tls->set_siginfo (this);
+ use_tls->func = NULL;
+ sigproc_printf ("releasing sigwait for thread");
+ SetEvent (use_tls->event);
+ goto done;
+
exit_sig:
- tls->signal_exit (si.si_signo); /* never returns */
+ use_tls->signal_exit (si.si_signo); /* never returns */
+}
+
+void
+events_init ()
+{
+ mask_sync.init ("mask_sync");
}
void
@@ -1257,16 +1317,26 @@ _cygtls::call_signal_handler ()
while (1)
{
lock ();
- if (!sig)
+ if (sig)
+ pop ();
+ else if (this != _main_tls)
{
- unlock ();
- break;
- }
+ _main_tls->lock ();
+ if (_main_tls->sig && _main_tls->incyg)
+ {
+ paranoid_printf ("Redirecting to main_tls signal %d", _main_tls->sig);
+ sig = _main_tls->sig;
+ sa_flags = _main_tls->sa_flags;
+ func = _main_tls->func;
+ infodata = _main_tls->infodata;
+ _main_tls->pop ();
+ _main_tls->sig = 0;
- /* Pop the stack if the next "return address" is sigdelayed, since
- this function is doing what sigdelayed would have done anyway. */
- if (retaddr () == (__stack_t) sigdelayed)
- pop ();
+ }
+ _main_tls->unlock ();
+ }
+ if (!sig)
+ break;
debug_only_printf ("dealing with signal %d", sig);
this_sa_flags = sa_flags;
@@ -1276,12 +1346,12 @@ _cygtls::call_signal_handler ()
sigset_t this_oldmask = set_process_mask_delta ();
int this_errno = saved_errno;
sig = 0;
- reset_signal_arrived ();
unlock (); // make sure synchronized
if (!(this_sa_flags & SA_SIGINFO))
{
+ void (*sigfunc) (int) = thisfunc;
incyg = false;
- thisfunc (thissig);
+ sigfunc (thissig);
}
else
{
@@ -1292,11 +1362,12 @@ _cygtls::call_signal_handler ()
sigact (thissig, &thissi, NULL);
}
incyg = true;
- set_signal_mask (_my_tls.sigmask, this_oldmask);
+ set_signal_mask (this_oldmask, _my_tls.sigmask);
if (this_errno >= 0)
set_errno (this_errno);
}
+ unlock ();
return this_sa_flags & SA_RESTART || (this != _main_tls);
}
diff --git a/winsup/cygwin/external.cc b/winsup/cygwin/external.cc
index 22636aa53..146dda953 100644
--- a/winsup/cygwin/external.cc
+++ b/winsup/cygwin/external.cc
@@ -108,7 +108,7 @@ fillout_pinfo (pid_t pid, int winpid)
{
i = 0;
pids.reset ();
- return NULL;
+ return 0;
}
return &ep;
}
@@ -186,12 +186,10 @@ static void
exit_process (UINT status, bool useTerminateProcess)
{
pid_t pid = getpid ();
- external_pinfo *ep = fillout_pinfo (pid, 1);
+ external_pinfo * ep = fillout_pinfo (pid, 1);
DWORD dwpid = ep ? ep->dwProcessId : pid;
pinfo p (pid, PID_MAP_RW);
- if (ep)
- pid = ep->pid;
- if ((dwpid == GetCurrentProcessId()) && (p->pid == pid))
+ if ((dwpid == GetCurrentProcessId()) && (p->pid == ep->pid))
p.set_exit_code ((DWORD)status);
if (useTerminateProcess)
TerminateProcess (GetCurrentProcess(), status);
@@ -434,6 +432,7 @@ cygwin_internal (cygwin_getinfo_types t, ...)
break;
case CW_SET_DOS_FILE_WARNING:
{
+ extern bool dos_file_warning;
dos_file_warning = va_arg (arg, int);
res = 0;
}
diff --git a/winsup/cygwin/fenv.cc b/winsup/cygwin/fenv.cc
index 66513e9d2..0f1f29b73 100755
--- a/winsup/cygwin/fenv.cc
+++ b/winsup/cygwin/fenv.cc
@@ -1,6 +1,6 @@
/* fenv.cc
- Copyright 2010, 2011, 2012 Red Hat, Inc.
+ Copyright 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -349,7 +349,7 @@ fesetround (int round)
unsigned int mxcsr = 0;
/* Will succeed for any valid value of the input parameter. */
- if (round < FE_TONEAREST || round > FE_TOWARDZERO)
+ if (round & ~(FE_CW_ROUND_MASK >> FE_CW_PREC_SHIFT))
return EINVAL;
/* Get control words. */
@@ -395,7 +395,7 @@ fesetprec (int prec)
unsigned short cw;
/* Will succeed for any valid value of the input parameter. */
- if (prec < FE_SINGLEPREC || prec > FE_EXTENDEDPREC)
+ if (prec & ~(FE_CW_PREC_MASK >> FE_CW_PREC_SHIFT) || prec == FE_RESERVEDPREC)
return EINVAL;
/* Get control word. */
diff --git a/winsup/cygwin/fhandler.cc b/winsup/cygwin/fhandler.cc
index 55a73b66e..ef25a07b8 100644
--- a/winsup/cygwin/fhandler.cc
+++ b/winsup/cygwin/fhandler.cc
@@ -14,7 +14,6 @@ details. */
#include <stdlib.h>
#include <sys/uio.h>
#include <sys/acl.h>
-#include <sys/param.h>
#include "cygerrno.h"
#include "perprocess.h"
#include "security.h"
@@ -31,7 +30,6 @@ details. */
#include "sigproc.h"
#include "shared_info.h"
#include <asm/socket.h>
-#include "cygwait.h"
#define MAX_OVERLAPPED_WRITE_LEN (64 * 1024 * 1024)
#define MIN_OVERLAPPED_WRITE_LEN (1 * 1024 * 1024)
@@ -951,7 +949,7 @@ fhandler_base::readv (const struct iovec *const iov, const int iovcnt,
char *p = buf;
while (nbytes > 0)
{
- const int frag = MIN (nbytes, (ssize_t) iovptr->iov_len);
+ const int frag = min (nbytes, (ssize_t) iovptr->iov_len);
memcpy (iovptr->iov_base, p, frag);
p += frag;
iovptr += 1;
@@ -1003,7 +1001,7 @@ fhandler_base::writev (const struct iovec *const iov, const int iovcnt,
while (nbytes != 0)
{
- const int frag = MIN (nbytes, (ssize_t) iovptr->iov_len);
+ const int frag = min (nbytes, (ssize_t) iovptr->iov_len);
memcpy (bufptr, iovptr->iov_base, frag);
bufptr += frag;
iovptr += 1;
@@ -1466,7 +1464,7 @@ fhandler_base::tcgetpgrp ()
return -1;
}
-pid_t
+int
fhandler_base::tcgetsid ()
{
set_errno (ENOTTY);
@@ -1940,7 +1938,7 @@ fhandler_base_overlapped::wait_overlapped (bool inres, bool writing, DWORD *byte
case WAIT_OBJECT_0:
err = ERROR_INVALID_HANDLE;
break;
- case WAIT_SIGNALED:
+ case WAIT_OBJECT_0 + 1:
err = ERROR_INVALID_AT_INTERRUPT_TIME;
break;
default:
@@ -1983,11 +1981,7 @@ fhandler_base_overlapped::wait_overlapped (bool inres, bool writing, DWORD *byte
}
if (res == overlapped_success)
- {
- debug_printf ("normal %s, %u bytes ispipe() %d", writing ? "write" : "read", *bytes, ispipe ());
- if (*bytes == 0 && !writing && ispipe ())
- res = overlapped_nullread;
- }
+ debug_printf ("normal %s, %u bytes", writing ? "write" : "read", *bytes);
else if (res == overlapped_nonblocking_no_data)
{
*bytes = (DWORD) -1;
@@ -2025,9 +2019,6 @@ fhandler_base_overlapped::raw_read (void *ptr, size_t& len)
get_overlapped ());
switch (wait_overlapped (res, false, &nbytes, is_nonblocking ()))
{
- case overlapped_nullread:
- keep_looping = true;
- break;
default: /* Added to quiet gcc */
case overlapped_success:
case overlapped_error:
@@ -2084,7 +2075,6 @@ fhandler_base_overlapped::raw_write (const void *ptr, size_t len)
case overlapped_error:
len = 0; /* terminate loop */
case overlapped_unknown:
- case overlapped_nullread:
case overlapped_nonblocking_no_data:
break;
}
diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h
index 39e1e7573..605f59b61 100644
--- a/winsup/cygwin/fhandler.h
+++ b/winsup/cygwin/fhandler.h
@@ -14,8 +14,8 @@ details. */
#include "tty.h"
/* fcntl flags used only internaly. */
-#define O_NOSYMLINK 0x080000
-#define O_DIROPEN 0x100000
+#define O_NOSYMLINK 0x080000
+#define O_DIROPEN 0x100000
/* newlib used to define O_NDELAY differently from O_NONBLOCK. Now it
properly defines both to be the same. Unfortunately, we have to
@@ -36,10 +36,6 @@ details. */
so small. http://cygwin.com/ml/cygwin/2011-03/msg00541.html */
#define DEFAULT_PIPEBUFSIZE PREFERRED_IO_BLKSIZE
-/* Used for fhandler_pipe::create. Use an available flag which will
- never be used in Cygwin for this function. */
-#define PIPE_ADD_PID FILE_FLAG_FIRST_PIPE_INSTANCE
-
extern const char *windows_device_names[];
extern struct __cygwin_perfile *perfile_table;
#define __fmode (*(user_data->fmode_ptr))
@@ -182,8 +178,11 @@ class fhandler_base
HANDLE read_state;
public:
- long inc_refcnt () {return InterlockedIncrement (&_refcnt);}
- long dec_refcnt () {return InterlockedDecrement (&_refcnt);}
+ long refcnt(long i = 0)
+ {
+ debug_only_printf ("%p, %s, i %d, refcnt %ld", this, get_name (), i, _refcnt + i);
+ return _refcnt += i;
+ }
class fhandler_base *archetype;
int usecount;
@@ -329,7 +328,6 @@ class fhandler_base
# define archetype_usecount(n) _archetype_usecount (__PRETTY_FUNCTION__, __LINE__, (n))
int close_fs () { return fhandler_base::close (); }
virtual int __stdcall fstat (struct __stat64 *buf) __attribute__ ((regparm (2)));
- void stat_fixup (struct __stat64 *buf) __attribute__ ((regparm (2)));
int __stdcall fstat_fs (struct __stat64 *buf) __attribute__ ((regparm (2)));
private:
int __stdcall fstat_helper (struct __stat64 *buf,
@@ -385,7 +383,7 @@ public:
virtual int tcgetattr (struct termios *t);
virtual int tcsetpgrp (const pid_t pid);
virtual int tcgetpgrp ();
- virtual pid_t tcgetsid ();
+ virtual int tcgetsid ();
virtual bool is_tty () const { return false; }
virtual bool ispipe () const { return false; }
virtual pid_t get_popen_pid () const {return 0;}
@@ -558,7 +556,7 @@ class fhandler_socket: public fhandler_base
int open (int flags, mode_t mode = 0);
void __stdcall read (void *ptr, size_t& len) __attribute__ ((regparm (3)));
ssize_t __stdcall readv (const struct iovec *, int iovcnt, ssize_t tot = -1);
- inline ssize_t recv_internal (struct _WSAMSG *wsamsg, bool use_recvmsg) __attribute__ ((regparm (3)));
+ inline ssize_t recv_internal (struct _WSAMSG *wsamsg);
ssize_t recvfrom (void *ptr, size_t len, int flags,
struct sockaddr *from, int *fromlen);
ssize_t recvmsg (struct msghdr *msg, int flags);
@@ -631,7 +629,6 @@ protected:
overlapped_unknown = 0,
overlapped_success,
overlapped_nonblocking_no_data,
- overlapped_nullread,
overlapped_error
};
bool io_pending;
@@ -1018,38 +1015,6 @@ class fhandler_disk_file: public fhandler_base
}
};
-class fhandler_dev: public fhandler_disk_file
-{
- const struct device *devidx;
- bool dir_exists;
-public:
- fhandler_dev ();
- int open (int flags, mode_t mode);
- int close ();
- int __stdcall fstat (struct __stat64 *buf) __attribute__ ((regparm (2)));
- int __stdcall fstatvfs (struct statvfs *buf) __attribute__ ((regparm (2)));
- DIR *opendir (int fd) __attribute__ ((regparm (2)));
- int readdir (DIR *, dirent *) __attribute__ ((regparm (3)));
- void rewinddir (DIR *);
-
- fhandler_dev (void *) {}
-
- void copyto (fhandler_base *x)
- {
- x->pc.free_strings ();
- *reinterpret_cast<fhandler_dev *> (x) = *this;
- x->reset (this);
- }
-
- fhandler_dev *clone (cygheap_types malloc_type = HEAP_FHANDLER)
- {
- void *ptr = (void *) ccalloc (malloc_type, 1, sizeof (fhandler_dev));
- fhandler_dev *fh = new (ptr) fhandler_dev (ptr);
- copyto (fh);
- return fh;
- }
-};
-
class fhandler_cygdrive: public fhandler_disk_file
{
enum
@@ -1069,7 +1034,6 @@ class fhandler_cygdrive: public fhandler_disk_file
void rewinddir (DIR *);
int closedir (DIR *);
int __stdcall fstat (struct __stat64 *buf) __attribute__ ((regparm (2)));
- int __stdcall fstatvfs (struct statvfs *buf) __attribute__ ((regparm (2)));
fhandler_cygdrive (void *) {}
@@ -1191,7 +1155,7 @@ class fhandler_termios: public fhandler_base
virtual void __release_output_mutex (const char *fn, int ln) {}
void echo_erase (int force = 0);
virtual _off64_t lseek (_off64_t, int);
- pid_t tcgetsid ();
+ int tcgetsid ();
fhandler_termios (void *) {}
@@ -1289,9 +1253,6 @@ class dev_console
bool insert_mode;
int use_mouse;
- bool ext_mouse_mode5;
- bool ext_mouse_mode6;
- bool ext_mouse_mode15;
bool use_focus;
bool raw_win32_keyboard_mode;
@@ -1374,7 +1335,6 @@ private:
ssize_t __stdcall write (const void *ptr, size_t len);
void doecho (const void *str, DWORD len) { (void) write (str, len); }
int close ();
- static bool exists () {return !!GetConsoleCP ();}
int tcflush (int);
int tcsetattr (int a, const struct termios *t);
@@ -1438,7 +1398,6 @@ class fhandler_pty_common: public fhandler_termios
int close ();
_off64_t lseek (_off64_t, int);
- bool bytes_available (DWORD& n);
void set_close_on_exec (bool val);
select_record *select_read (select_stuff *);
select_record *select_write (select_stuff *);
@@ -1555,7 +1514,6 @@ public:
void fixup_after_fork (HANDLE parent);
void fixup_after_exec ();
int tcgetpgrp ();
- void flush_to_slave ();
fhandler_pty_master (void *) {}
~fhandler_pty_master ();
@@ -1721,11 +1679,11 @@ class fhandler_dev_clipboard: public fhandler_base
_off64_t pos;
void *membuffer;
size_t msize;
+ bool eof;
public:
fhandler_dev_clipboard ();
int is_windows () { return 1; }
int open (int flags, mode_t mode = 0);
- int __stdcall fstat (struct __stat64 *buf) __attribute__ ((regparm (2)));
ssize_t __stdcall write (const void *ptr, size_t len);
void __stdcall read (void *ptr, size_t& len) __attribute__ ((regparm (3)));
_off64_t lseek (_off64_t offset, int whence);
@@ -2133,7 +2091,6 @@ typedef union
{
char __base[sizeof (fhandler_base)];
char __console[sizeof (fhandler_console)];
- char __dev[sizeof (fhandler_dev)];
char __cygdrive[sizeof (fhandler_cygdrive)];
char __dev_clipboard[sizeof (fhandler_dev_clipboard)];
char __dev_dsp[sizeof (fhandler_dev_dsp)];
diff --git a/winsup/cygwin/fhandler_clipboard.cc b/winsup/cygwin/fhandler_clipboard.cc
index 86f126c24..b8438c8a7 100644
--- a/winsup/cygwin/fhandler_clipboard.cc
+++ b/winsup/cygwin/fhandler_clipboard.cc
@@ -1,7 +1,6 @@
/* fhandler_dev_clipboard: code to access /dev/clipboard
- Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009, 2011,
- 2012 Red Hat, Inc
+ Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009, 2011 Red Hat, Inc
Written by Charles Wilson (cwilson@ece.gatech.edu)
@@ -33,15 +32,9 @@ static const NO_COPY WCHAR *CYGWIN_NATIVE = L"CYGWIN_NATIVE_CLIPBOARD";
/* this is MT safe because windows format id's are atomic */
static int cygnativeformat;
-typedef struct
-{
- timestruc_t timestamp;
- size_t len;
- char data[1];
-} cygcb_t;
-
fhandler_dev_clipboard::fhandler_dev_clipboard ()
- : fhandler_base (), pos (0), membuffer (NULL), msize (0)
+ : fhandler_base (), pos (0), membuffer (NULL), msize (0),
+ eof (true)
{
/* FIXME: check for errors and loop until we can open the clipboard */
OpenClipboard (NULL);
@@ -68,6 +61,7 @@ int
fhandler_dev_clipboard::open (int flags, mode_t)
{
set_flags (flags | O_TEXT);
+ eof = false;
pos = 0;
if (membuffer)
free (membuffer);
@@ -83,24 +77,20 @@ static int
set_clipboard (const void *buf, size_t len)
{
HGLOBAL hmem;
+ void *clipbuf;
/* Native CYGWIN format */
if (OpenClipboard (NULL))
{
- cygcb_t *clipbuf;
-
- hmem = GlobalAlloc (GMEM_MOVEABLE, sizeof (cygcb_t) + len);
+ hmem = GlobalAlloc (GMEM_MOVEABLE, len + sizeof (size_t));
if (!hmem)
{
__seterrno ();
CloseClipboard ();
return -1;
}
- clipbuf = (cygcb_t *) GlobalLock (hmem);
-
- clock_gettime (CLOCK_REALTIME, &clipbuf->timestamp);
- clipbuf->len = len;
- memcpy (clipbuf->data, buf, len);
-
+ clipbuf = GlobalLock (hmem);
+ memcpy ((unsigned char *) clipbuf + sizeof (size_t), buf, len);
+ *(size_t *) (clipbuf) = len;
GlobalUnlock (hmem);
EmptyClipboard ();
if (!cygnativeformat)
@@ -126,8 +116,6 @@ set_clipboard (const void *buf, size_t len)
}
if (OpenClipboard (NULL))
{
- PWCHAR clipbuf;
-
hmem = GlobalAlloc (GMEM_MOVEABLE, (len + 1) * sizeof (WCHAR));
if (!hmem)
{
@@ -135,8 +123,8 @@ set_clipboard (const void *buf, size_t len)
CloseClipboard ();
return -1;
}
- clipbuf = (PWCHAR) GlobalLock (hmem);
- sys_mbstowcs (clipbuf, len + 1, (const char *) buf);
+ clipbuf = GlobalLock (hmem);
+ sys_mbstowcs ((PWCHAR) clipbuf, len + 1, (const char *) buf);
GlobalUnlock (hmem);
HANDLE ret = SetClipboardData (CF_UNICODETEXT, hmem);
CloseClipboard ();
@@ -156,127 +144,105 @@ set_clipboard (const void *buf, size_t len)
ssize_t __stdcall
fhandler_dev_clipboard::write (const void *buf, size_t len)
{
- /* write to our membuffer */
- size_t cursize = msize;
- void *tempbuffer = realloc (membuffer, cursize + len);
- if (!tempbuffer)
- {
- debug_printf ("Couldn't realloc() clipboard buffer for write");
- return -1;
- }
- membuffer = tempbuffer;
- msize = cursize + len;
- memcpy ((unsigned char *) membuffer + cursize, buf, len);
-
- /* now pass to windows */
- if (set_clipboard (membuffer, msize))
+ if (!eof)
{
- /* FIXME: membuffer is now out of sync with pos, but msize
- is used above */
- return -1;
- }
-
- pos = msize;
- return len;
-}
+ /* write to our membuffer */
+ size_t cursize = msize;
+ void *tempbuffer = realloc (membuffer, cursize + len);
+ if (!tempbuffer)
+ {
+ debug_printf ("Couldn't realloc() clipboard buffer for write");
+ return -1;
+ }
+ membuffer = tempbuffer;
+ msize = cursize + len;
+ memcpy ((unsigned char *) membuffer + cursize, buf, len);
-int __stdcall
-fhandler_dev_clipboard::fstat (struct __stat64 *buf)
-{
- buf->st_mode = S_IFCHR | STD_RBITS | STD_WBITS | S_IWGRP | S_IWOTH;
- buf->st_uid = geteuid32 ();
- buf->st_gid = getegid32 ();
- buf->st_nlink = 1;
- buf->st_blksize = PREFERRED_IO_BLKSIZE;
+ /* now pass to windows */
+ if (set_clipboard (membuffer, msize))
+ {
+ /* FIXME: membuffer is now out of sync with pos, but msize
+ is used above */
+ return -1;
+ }
- buf->st_ctim.tv_sec = 1164931200L; /* Arbitrary value: 2006-12-01 */
- buf->st_ctim.tv_nsec = 0L;
- buf->st_birthtim = buf->st_atim = buf->st_mtim = buf->st_ctim;
+ pos = msize;
- if (OpenClipboard (NULL))
+ eof = false;
+ return len;
+ }
+ else
{
- UINT formatlist[1] = { cygnativeformat };
- int format;
- HGLOBAL hglb;
- cygcb_t *clipbuf;
-
- if ((format = GetPriorityClipboardFormat (formatlist, 1)) > 0
- && (hglb = GetClipboardData (format))
- && (clipbuf = (cygcb_t *) GlobalLock (hglb)))
- {
- buf->st_atim = buf->st_mtim = clipbuf->timestamp;
- buf->st_size = clipbuf->len;
- GlobalUnlock (hglb);
- }
- CloseClipboard ();
+ /* FIXME: return 0 bytes written, file not open */
+ return 0;
}
-
- return 0;
}
void __stdcall
fhandler_dev_clipboard::read (void *ptr, size_t& len)
{
HGLOBAL hglb;
- size_t ret = 0;
+ size_t ret;
UINT formatlist[2];
int format;
- LPVOID cb_data;
+ size_t plen = len;
+ len = 0;
+ if (eof)
+ return;
if (!OpenClipboard (NULL))
+ return;
+ formatlist[0] = cygnativeformat;
+ formatlist[1] = CF_UNICODETEXT;
+ if ((format = GetPriorityClipboardFormat (formatlist, 2)) <= 0)
{
- len = 0;
+ CloseClipboard ();
return;
}
- formatlist[0] = cygnativeformat;
- formatlist[1] = CF_UNICODETEXT;
- if ((format = GetPriorityClipboardFormat (formatlist, 2)) <= 0
- || !(hglb = GetClipboardData (format))
- || !(cb_data = GlobalLock (hglb)))
+ if (!(hglb = GetClipboardData (format)))
{
CloseClipboard ();
- len = 0;
return;
}
if (format == cygnativeformat)
{
- cygcb_t *clipbuf = (cygcb_t *) cb_data;
+ unsigned char *buf;
- if (pos < clipbuf->len)
- {
- ret = ((len > (clipbuf->len - pos)) ? (clipbuf->len - pos) : len);
- memcpy (ptr, clipbuf->data + pos , ret);
- pos += ret;
+ if (!(buf = (unsigned char *) GlobalLock (hglb)))
+ {
+ CloseClipboard ();
+ return;
}
+ size_t buflen = (*(size_t *) buf);
+ ret = ((plen > (buflen - pos)) ? (buflen - pos) : plen);
+ memcpy (ptr, buf + sizeof (size_t)+ pos , ret);
+ pos += ret;
+ if (pos + plen - ret >= buflen)
+ eof = true;
}
else
{
- wchar_t *buf = (wchar_t *) cb_data;
+ int wret;
+ PWCHAR buf;
- size_t glen = GlobalSize (hglb) / sizeof (WCHAR) - 1;
- if (pos < glen)
+ if (!(buf = (PWCHAR) GlobalLock (hglb)))
{
- /* Comparing apples and oranges here, but the below loop could become
- extremly slow otherwise. We rather return a few bytes less than
- possible instead of being even more slow than usual... */
- if (glen > pos + len)
- glen = pos + len;
- /* This loop is necessary because the number of bytes returned by
- sys_wcstombs does not indicate the number of wide chars used for
- it, so we could potentially drop wide chars. */
- while ((ret = sys_wcstombs (NULL, 0, buf + pos, glen - pos))
- != (size_t) -1
- && ret > len)
- --glen;
- if (ret == (size_t) -1)
- ret = 0;
- else
- {
- ret = sys_wcstombs ((char *) ptr, (size_t) -1,
- buf + pos, glen - pos);
- pos = glen;
- }
+ CloseClipboard ();
+ return;
}
+ size_t glen = GlobalSize (hglb) / sizeof (WCHAR) - 1;
+ /* This loop is necessary because the number of bytes returned by
+ sys_wcstombs does not indicate the number of wide chars used for
+ it, so we could potentially drop wide chars. */
+ if (glen - pos > plen)
+ glen = pos + plen;
+ while ((wret = sys_wcstombs (NULL, 0, buf + pos, glen - pos)) != -1
+ && (size_t) wret > plen)
+ --glen;
+ ret = sys_wcstombs ((char *) ptr, plen, buf + pos, glen - pos);
+ pos += ret;
+ if (pos + plen - ret >= wcslen (buf))
+ eof = true;
}
GlobalUnlock (hglb);
CloseClipboard ();
@@ -303,6 +269,7 @@ fhandler_dev_clipboard::close ()
{
if (!have_execed)
{
+ eof = true;
pos = 0;
if (membuffer)
{
@@ -319,6 +286,7 @@ fhandler_dev_clipboard::fixup_after_exec ()
{
if (!close_on_exec ())
{
+ eof = false;
pos = msize = 0;
membuffer = NULL;
}
diff --git a/winsup/cygwin/fhandler_console.cc b/winsup/cygwin/fhandler_console.cc
index 0dcd1262b..01892f69e 100644
--- a/winsup/cygwin/fhandler_console.cc
+++ b/winsup/cygwin/fhandler_console.cc
@@ -18,7 +18,6 @@ details. */
#include <winuser.h>
#include <winnls.h>
#include <ctype.h>
-#include <sys/param.h>
#include <sys/cygwin.h>
#include <cygwin/kd.h>
#include "cygerrno.h"
@@ -36,15 +35,11 @@ details. */
#include <asm/socket.h>
#include "sync.h"
#include "child_info.h"
-#include "cygwait.h"
/* Don't make this bigger than NT_MAX_PATH as long as the temporary buffer
is allocated using tmp_pathbuf!!! */
#define CONVERT_LIMIT NT_MAX_PATH
-#define ALT_PRESSED (LEFT_ALT_PRESSED | RIGHT_ALT_PRESSED)
-#define CTRL_PRESSED (LEFT_CTRL_PRESSED | RIGHT_CTRL_PRESSED)
-
/*
* Scroll the screen context.
* x1, y1 - ul corner
@@ -138,42 +133,34 @@ fhandler_console::set_unit ()
{
bool created;
fh_devices devset;
- lock_ttys here;
- HWND me;
- fh_devices this_unit = dev ();
- bool generic_console = this_unit == FH_CONIN || this_unit == FH_CONOUT;
if (shared_console_info)
{
+ fh_devices this_unit = dev ();
fh_devices shared_unit =
(fh_devices) shared_console_info->tty_min_state.getntty ();
+ created = false;
devset = (shared_unit == this_unit || this_unit == FH_CONSOLE
- || generic_console
+ || this_unit == FH_CONIN || this_unit == FH_CONOUT
|| this_unit == FH_TTY) ?
shared_unit : FH_ERROR;
- created = false;
}
- else if ((!generic_console && (myself->ctty != -1 && !iscons_dev (myself->ctty)))
- || !(me = GetConsoleWindow ()))
- devset = FH_ERROR;
else
{
+ HWND me = GetConsoleWindow ();
created = true;
shared_console_info = open_shared_console (me, cygheap->console_h, created);
ProtectHandleINH (cygheap->console_h);
if (created)
- shared_console_info->tty_min_state.setntty (DEV_CONS_MAJOR, console_unit (me));
+ {
+ lock_ttys here;
+ shared_console_info->tty_min_state.setntty (DEV_CONS_MAJOR, console_unit (me));
+ }
devset = (fh_devices) shared_console_info->tty_min_state.getntty ();
}
dev ().parse (devset);
if (devset != FH_ERROR)
pc.file_attributes (FILE_ATTRIBUTE_NORMAL);
- else
- {
- set_io_handle (NULL);
- set_output_handle (NULL);
- created = false;
- }
return created;
}
@@ -308,6 +295,14 @@ fhandler_console::mouse_aware (MOUSE_EVENT_RECORD& mouse_event)
return 0;
}
+ /* Check whether adjusted mouse position can be reported */
+ if (dev_state.dwMousePosition.X > 0xFF - ' ' - 1
+ || dev_state.dwMousePosition.Y > 0xFF - ' ' - 1)
+ {
+ /* Mouse position out of reporting range */
+ return 0;
+ }
+
return ((mouse_event.dwEventFlags == 0 || mouse_event.dwEventFlags == DOUBLE_CLICK)
&& mouse_event.dwButtonState != dev_state.dwLastButtonState)
|| mouse_event.dwEventFlags == MOUSE_WHEELED
@@ -356,9 +351,9 @@ fhandler_console::read (void *pv, size_t& buflen)
{
case WAIT_OBJECT_0:
break;
- case WAIT_SIGNALED:
+ case WAIT_OBJECT_0 + 1:
goto sig_exit;
- case WAIT_CANCELED:
+ case WAIT_OBJECT_0 + 2:
process_state.pop ();
pthread::static_cancel_self ();
/*NOTREACHED*/
@@ -417,6 +412,8 @@ fhandler_console::read (void *pv, size_t& buflen)
#define ich (input_rec.Event.KeyEvent.uChar.AsciiChar)
#define wch (input_rec.Event.KeyEvent.uChar.UnicodeChar)
+#define ALT_PRESSED (LEFT_ALT_PRESSED | RIGHT_ALT_PRESSED)
+#define CTRL_PRESSED (LEFT_CTRL_PRESSED | RIGHT_CTRL_PRESSED)
/* Ignore key up events, except for left alt events with non-zero character
*/
@@ -447,13 +444,12 @@ fhandler_console::read (void *pv, size_t& buflen)
{
char c = dev_state.backspace_keycode;
nread = 0;
- if (control_key_state & ALT_PRESSED)
- {
- if (dev_state.metabit)
- c |= 0x80;
- else
- tmp[nread++] = '\e';
- }
+ if (control_key_state & ALT_PRESSED) {
+ if (dev_state.metabit)
+ c |= 0x80;
+ else
+ tmp[nread++] = '\e';
+ }
tmp[nread++] = c;
tmp[nread] = 0;
toadd = tmp;
@@ -517,6 +513,8 @@ fhandler_console::read (void *pv, size_t& buflen)
}
#undef ich
#undef wch
+#undef ALT_PRESSED
+#undef CTRL_PRESSED
break;
case MOUSE_EVENT:
@@ -544,7 +542,6 @@ fhandler_console::read (void *pv, size_t& buflen)
events at the same time. */
int b = 0;
char sz[32];
- char mode6_term = 'M';
if (mouse_event.dwEventFlags == MOUSE_WHEELED)
{
@@ -568,7 +565,7 @@ fhandler_console::read (void *pv, size_t& buflen)
{
b = dev_state.last_button_code;
}
- else if (mouse_event.dwButtonState < dev_state.dwLastButtonState && !dev_state.ext_mouse_mode6)
+ else if (mouse_event.dwButtonState < dev_state.dwLastButtonState)
{
b = 3;
strcpy (sz, "btn up");
@@ -589,10 +586,6 @@ fhandler_console::read (void *pv, size_t& buflen)
strcpy (sz, "btn3 down");
}
- if (dev_state.ext_mouse_mode6 /* distinguish release */
- && mouse_event.dwButtonState < dev_state.dwLastButtonState)
- mode6_term = 'm';
-
dev_state.last_button_code = b;
if (mouse_event.dwEventFlags == MOUSE_MOVED)
@@ -615,90 +608,34 @@ fhandler_console::read (void *pv, size_t& buflen)
dev_state.nModifiers = 0;
if (mouse_event.dwControlKeyState & SHIFT_PRESSED)
dev_state.nModifiers |= 0x4;
- if (mouse_event.dwControlKeyState & ALT_PRESSED)
+ if (mouse_event.dwControlKeyState & (RIGHT_ALT_PRESSED|LEFT_ALT_PRESSED))
dev_state.nModifiers |= 0x8;
- if (mouse_event.dwControlKeyState & CTRL_PRESSED)
+ if (mouse_event.dwControlKeyState & (RIGHT_CTRL_PRESSED|LEFT_CTRL_PRESSED))
dev_state.nModifiers |= 0x10;
/* Indicate the modifiers */
b |= dev_state.nModifiers;
/* We can now create the code. */
- if (dev_state.ext_mouse_mode6)
- {
- __small_sprintf (tmp, "\033[<%d;%d;%d%c", b,
- dev_state.dwMousePosition.X + 1,
- dev_state.dwMousePosition.Y + 1,
- mode6_term);
- nread = strlen (tmp);
- }
- else if (dev_state.ext_mouse_mode15)
- {
- __small_sprintf (tmp, "\033[%d;%d;%dM", b + 32,
- dev_state.dwMousePosition.X + 1,
- dev_state.dwMousePosition.Y + 1);
- nread = strlen (tmp);
- }
- else if (dev_state.ext_mouse_mode5)
- {
- unsigned int xcode = dev_state.dwMousePosition.X + ' ' + 1;
- unsigned int ycode = dev_state.dwMousePosition.Y + ' ' + 1;
-
- __small_sprintf (tmp, "\033[M%c", b + ' ');
- nread = 4;
- /* the neat nested encoding function of mintty
- does not compile in g++, so let's unfold it: */
- if (xcode < 0x80)
- tmp [nread++] = xcode;
- else if (xcode < 0x800)
- {
- tmp [nread++] = 0xC0 + (xcode >> 6);
- tmp [nread++] = 0x80 + (xcode & 0x3F);
- }
- else
- tmp [nread++] = 0;
- if (ycode < 0x80)
- tmp [nread++] = ycode;
- else if (ycode < 0x800)
- {
- tmp [nread++] = 0xC0 + (ycode >> 6);
- tmp [nread++] = 0x80 + (ycode & 0x3F);
- }
- else
- tmp [nread++] = 0;
- }
- else
- {
- unsigned int xcode = dev_state.dwMousePosition.X + ' ' + 1;
- unsigned int ycode = dev_state.dwMousePosition.Y + ' ' + 1;
- if (xcode >= 256)
- xcode = 0;
- if (ycode >= 256)
- ycode = 0;
- __small_sprintf (tmp, "\033[M%c%c%c", b + ' ',
- xcode, ycode);
- nread = 6; /* tmp may contain NUL bytes */
- }
- syscall_printf ("mouse: %s at (%d,%d)", sz,
- dev_state.dwMousePosition.X,
- dev_state.dwMousePosition.Y);
+ sprintf (tmp, "\033[M%c%c%c", b + ' ', dev_state.dwMousePosition.X + ' ' + 1, dev_state.dwMousePosition.Y + ' ' + 1);
+ syscall_printf ("mouse: %s at (%d,%d)", sz, dev_state.dwMousePosition.X, dev_state.dwMousePosition.Y);
toadd = tmp;
+ nread = 6;
}
}
break;
case FOCUS_EVENT:
- if (dev_state.use_focus)
- {
- if (input_rec.Event.FocusEvent.bSetFocus)
- __small_sprintf (tmp, "\033[I");
- else
- __small_sprintf (tmp, "\033[O");
-
- toadd = tmp;
- nread = 3;
- }
+ if (dev_state.use_focus) {
+ if (input_rec.Event.FocusEvent.bSetFocus)
+ sprintf (tmp, "\033[I");
+ else
+ sprintf (tmp, "\033[O");
+
+ toadd = tmp;
+ nread = 3;
+ }
break;
case WINDOW_BUFFER_SIZE_EVENT:
@@ -822,9 +759,7 @@ fhandler_console::scroll_screen (int x1, int y1, int x2, int y2, int xn, int yn)
int
fhandler_console::dup (fhandler_base *child, int flags)
{
- /* See comments in fhandler_pty_slave::dup */
- if (myself->ctty != -2)
- myself->set_ctty (this, flags);
+ myself->set_ctty (this, flags);
return 0;
}
@@ -893,8 +828,7 @@ void
fhandler_console::open_setup (int flags)
{
set_flags ((flags & ~O_TEXT) | O_BINARY);
- if (myself->set_ctty (this, flags) && !myself->cygstarted)
- init_console_handler (true);
+ myself->set_ctty (this, flags);
}
int
@@ -1571,30 +1505,22 @@ fhandler_console::char_command (char c)
case 1000: /* Mouse tracking */
dev_state.use_mouse = (c == 'h') ? 1 : 0;
+ syscall_printf ("mouse support set to mode %d", dev_state.use_mouse);
break;
case 1002: /* Mouse button event tracking */
dev_state.use_mouse = (c == 'h') ? 2 : 0;
+ syscall_printf ("mouse support set to mode %d", dev_state.use_mouse);
break;
case 1003: /* Mouse any event tracking */
dev_state.use_mouse = (c == 'h') ? 3 : 0;
+ syscall_printf ("mouse support set to mode %d", dev_state.use_mouse);
break;
case 1004: /* Focus in/out event reporting */
dev_state.use_focus = (c == 'h') ? true : false;
- break;
-
- case 1005: /* Extended mouse mode */
- dev_state.ext_mouse_mode5 = c == 'h';
- break;
-
- case 1006: /* SGR extended mouse mode */
- dev_state.ext_mouse_mode6 = c == 'h';
- break;
-
- case 1015: /* Urxvt extended mouse mode */
- dev_state.ext_mouse_mode15 = c == 'h';
+ syscall_printf ("focus reporting set to %d", dev_state.use_focus);
break;
case 2000: /* Raw keyboard mode */
@@ -1811,7 +1737,7 @@ fhandler_console::write_normal (const unsigned char *src,
if (trunc_buf.len)
{
const unsigned char *nfound;
- int cp_len = MIN (end - src, 4 - trunc_buf.len);
+ int cp_len = min (end - src, 4 - trunc_buf.len);
memcpy (trunc_buf.buf + trunc_buf.len, src, cp_len);
memset (&ps, 0, sizeof ps);
switch (ret = f_mbtowc (_REENT, NULL, (const char *) trunc_buf.buf,
@@ -2012,7 +1938,8 @@ fhandler_console::write (const void *vsrc, size_t len)
while (src < end)
{
- paranoid_printf ("char %0c state is %d", *src, dev_state.state_);
+ debug_printf ("at %d(%c) state is %d", *src, isprint (*src) ? *src : ' ',
+ dev_state.state_);
switch (dev_state.state_)
{
case normal:
@@ -2223,13 +2150,15 @@ get_nonascii_key (INPUT_RECORD& input_rec, char *tmp)
int modifier_index = NORMAL;
if (input_rec.Event.KeyEvent.dwControlKeyState & SHIFT_PRESSED)
modifier_index = SHIFT;
- if (input_rec.Event.KeyEvent.dwControlKeyState & CTRL_PRESSED)
+ if (input_rec.Event.KeyEvent.dwControlKeyState &
+ (LEFT_CTRL_PRESSED | RIGHT_CTRL_PRESSED))
modifier_index += CONTROL;
for (int i = 0; keytable[i].vk; i++)
if (input_rec.Event.KeyEvent.wVirtualKeyCode == keytable[i].vk)
{
- if ((input_rec.Event.KeyEvent.dwControlKeyState & ALT_PRESSED)
+ if ((input_rec.Event.KeyEvent.dwControlKeyState &
+ (LEFT_ALT_PRESSED | RIGHT_ALT_PRESSED))
&& keytable[i].val[modifier_index] != NULL)
{ /* Generic ESC prefixing if Alt is pressed */
tmp[0] = '\033';
@@ -2430,7 +2359,7 @@ bool
fhandler_console::need_invisible ()
{
BOOL b = false;
- if (exists ())
+ if (GetConsoleCP ())
invisible_console = false;
else
{
diff --git a/winsup/cygwin/fhandler_dev.cc b/winsup/cygwin/fhandler_dev.cc
deleted file mode 100644
index 9d8750436..000000000
--- a/winsup/cygwin/fhandler_dev.cc
+++ /dev/null
@@ -1,230 +0,0 @@
-/* fhandler_dev.cc, Implement /dev.
-
- Copyright 2012 Red Hat, Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#include "winsup.h"
-#include <stdlib.h>
-#include <sys/statvfs.h>
-#include "path.h"
-#include "fhandler.h"
-#include "dtable.h"
-#include "cygheap.h"
-#include "devices.h"
-
-#define _COMPILING_NEWLIB
-#include <dirent.h>
-
-#define dev_prefix_len (sizeof ("/dev"))
-#define dev_storage_scan_start (dev_storage + 1)
-#define dev_storage_size (dev_storage_end - dev_storage_scan_start)
-
-static int
-device_cmp (const void *a, const void *b)
-{
- return strcmp (((const device *) a)->name,
- ((const device *) b)->name + dev_prefix_len);
-}
-
-fhandler_dev::fhandler_dev () :
- fhandler_disk_file (), devidx (NULL), dir_exists (true)
-{
-}
-
-int
-fhandler_dev::open (int flags, mode_t mode)
-{
- if ((flags & (O_CREAT | O_EXCL)) == (O_CREAT | O_EXCL))
- {
- set_errno (EEXIST);
- return 0;
- }
- if (flags & O_WRONLY)
- {
- set_errno (EISDIR);
- return 0;
- }
- int ret = fhandler_disk_file::open (flags, mode);
- if (!ret)
- {
- flags |= O_DIROPEN;
- set_flags (flags);
- nohandle (true);
- }
- return 1;
-}
-
-int
-fhandler_dev::close ()
-{
- if (nohandle ())
- return 0;
- return fhandler_disk_file::close ();
-}
-
-int
-fhandler_dev::fstat (struct __stat64 *st)
-{
- /* If /dev really exists on disk, return correct disk information. */
- if (pc.fs_got_fs ())
- return fhandler_disk_file::fstat (st);
- /* Otherwise fake virtual filesystem. */
- fhandler_base::fstat (st);
- st->st_ino = 2;
- st->st_mode = S_IFDIR | STD_RBITS | STD_XBITS;
- st->st_nlink = 1;
- return 0;
-}
-
-int __stdcall
-fhandler_dev::fstatvfs (struct statvfs *sfs)
-{
- int ret = -1, opened = 0;
- HANDLE fh = get_handle ();
-
- if (!fh && !nohandle ())
- {
- if (!open (O_RDONLY, 0))
- return -1;
- opened = 1;
- }
- if (!nohandle ())
- {
- ret = fhandler_disk_file::fstatvfs (sfs);
- goto out;
- }
- /* Virtual file system. Just return an empty buffer with a few values
- set to something useful. Just as on Linux. */
- memset (sfs, 0, sizeof (*sfs));
- sfs->f_bsize = sfs->f_frsize = 4096;
- sfs->f_namemax = NAME_MAX;
- ret = 0;
-
-out:
- if (opened)
- close ();
- return ret;
-}
-
-DIR *
-fhandler_dev::opendir (int fd)
-{
- DIR *dir;
- DIR *res = NULL;
-
- dir = fhandler_disk_file::opendir (fd);
- if (dir)
- return dir;
- if ((dir = (DIR *) malloc (sizeof (DIR))) == NULL)
- set_errno (ENOMEM);
- else if ((dir->__d_dirent =
- (struct dirent *) malloc (sizeof (struct dirent))) == NULL)
- {
- set_errno (ENOMEM);
- goto free_dir;
- }
- else
- {
- cygheap_fdnew cfd;
- if (cfd < 0 && fd < 0)
- goto free_dirent;
-
- dir->__d_dirname = NULL;
- dir->__d_dirent->__d_version = __DIRENT_VERSION;
- dir->__d_cookie = __DIRENT_COOKIE;
- dir->__handle = INVALID_HANDLE_VALUE;
- dir->__d_position = 0;
- dir->__flags = 0;
- dir->__d_internal = 0;
-
- if (fd >= 0)
- dir->__d_fd = fd;
- else
- {
- cfd = this;
- dir->__d_fd = cfd;
- cfd->nohandle (true);
- }
- set_close_on_exec (true);
- dir->__fh = this;
- devidx = dev_storage_scan_start;
- res = dir;
- }
-
- syscall_printf ("%p = opendir (%s)", res, get_name ());
- return res;
-
-free_dirent:
- free (dir->__d_dirent);
-free_dir:
- free (dir);
- return res;
-}
-
-int
-fhandler_dev::readdir (DIR *dir, dirent *de)
-{
- int ret;
- const device *curdev;
- device dev;
-
- if (!devidx)
- {
- while ((ret = fhandler_disk_file::readdir (dir, de)) == 0)
- {
- /* Avoid to print devices for which users have created files under
- /dev already, for instance by using the old script from Igor
- Peshansky. */
- dev.name = de->d_name;
- if (!bsearch (&dev, dev_storage_scan_start, dev_storage_size,
- sizeof dev, device_cmp))
- break;
- }
- if (ret != ENMFILE)
- goto out;
- devidx = dev_storage_scan_start;
- }
-
- /* Now start processing our internal dev table. */
- ret = ENMFILE;
- while ((curdev = devidx++) < dev_storage_end)
- {
- /* If exists returns < 0 it means that the device can be used by a
- program but its use is deprecated and, so, it is not returned
- by readdir((). */
- if (curdev->exists () <= 0)
- continue;
- ++dir->__d_position;
- strcpy (de->d_name, curdev->name + dev_prefix_len);
- if (curdev->get_major () == DEV_TTY_MAJOR
- && (curdev->is_device (FH_CONIN)
- || curdev->is_device (FH_CONOUT)
- || curdev->is_device (FH_CONSOLE)))
- {
- /* Make sure conin, conout, and console have the same inode number
- as the current consX. */
- de->d_ino = myself->ctty;
- }
- else
- de->d_ino = curdev->get_device ();
- de->d_type = curdev->type ();
- ret = 0;
- break;
- }
-
-out:
- debug_printf ("returning %d", ret);
- return ret;
-}
-
-void
-fhandler_dev::rewinddir (DIR *dir)
-{
- devidx = dir_exists ? NULL : dev_storage_scan_start;
- fhandler_disk_file::rewinddir (dir);
-}
diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc
index 8ed8a8155..1fe12b0a2 100644
--- a/winsup/cygwin/fhandler_disk_file.cc
+++ b/winsup/cygwin/fhandler_disk_file.cc
@@ -26,7 +26,6 @@ details. */
#include "pwdgrp.h"
#include <winioctl.h>
#include <lm.h>
-#include "devices.h"
#define _COMPILING_NEWLIB
#include <dirent.h>
@@ -37,12 +36,11 @@ class __DIR_mounts
const char *parent_dir;
int parent_dir_len;
UNICODE_STRING mounts[MAX_MOUNTS];
- bool found[MAX_MOUNTS + 3];
+ bool found[MAX_MOUNTS + 2];
UNICODE_STRING cygdrive;
#define __DIR_PROC (MAX_MOUNTS)
#define __DIR_CYGDRIVE (MAX_MOUNTS+1)
-#define __DIR_DEV (MAX_MOUNTS+2)
__ino64_t eval_ino (int idx)
{
@@ -86,11 +84,6 @@ public:
found[__DIR_PROC] = true;
return 2;
}
- if (RtlEqualUnicodeString (fname, &ro_u_dev, FALSE))
- {
- found[__DIR_DEV] = true;
- return 2;
- }
if (fname->Length / sizeof (WCHAR) == mount_table->cygdrive_len - 2
&& RtlEqualUnicodeString (fname, &cygdrive, FALSE))
{
@@ -128,13 +121,6 @@ public:
*retname = ro_u_proc;
return 2;
}
- if (!found[__DIR_DEV])
- {
- found[__DIR_DEV] = true;
- if (retname)
- *retname = ro_u_dev;
- return 2;
- }
if (!found[__DIR_CYGDRIVE])
{
found[__DIR_CYGDRIVE] = true;
@@ -154,26 +140,11 @@ public:
inline bool
path_conv::isgood_inode (__ino64_t ino) const
{
- /* If the FS doesn't support nonambiguous inode numbers anyway, bail out
- immediately. */
- if (!hasgood_inode ())
- return false;
- /* If the inode numbers are 64 bit numbers or if it's a local FS, they
- are to be trusted. */
- if (ino > UINT32_MAX || !isremote ())
- return true;
- /* The inode numbers returned from a remote NT4 NTFS are ephemeral
- 32 bit numbers. */
- if (fs_is_ntfs ())
- return false;
- /* Starting with version 3.5.4, Samba returns the real inode numbers, if
- the file is on the same device as the root of the share (Samba function
- get_FileIndex). 32 bit inode numbers returned by older versions (likely
- < 3.0) are ephemeral. */
- if (fs_is_samba () && fs.samba_version () < 0x03050400)
- return false;
- /* Otherwise, trust the inode numbers unless proved otherwise. */
- return true;
+ /* We can't trust remote inode numbers of only 32 bit. That means,
+ remote NT4 NTFS, as well as shares of Samba version < 3.0.
+ The known exception are SFU NFS shares, which return the valid 32 bit
+ inode number from the remote file system unchanged. */
+ return hasgood_inode () && (ino > UINT32_MAX || !isremote () || fs_is_nfs ());
}
/* Check reparse point for type. IO_REPARSE_TAG_MOUNT_POINT types are
@@ -523,7 +494,7 @@ fhandler_base::fstat_helper (struct __stat64 *buf,
: (PFILETIME) &pfnoi->LastWriteTime,
&buf->st_ctim);
to_timestruc_t ((PFILETIME) &pfnoi->CreationTime, &buf->st_birthtim);
- buf->st_dev = get_dev ();
+ buf->st_rdev = buf->st_dev = get_dev ();
/* CV 2011-01-13: Observations on the Cygwin mailing list point to an
interesting behaviour in some Windows versions. Apparently the size of
a directory is computed at the time the directory is first scanned. This
@@ -984,6 +955,7 @@ fhandler_disk_file::facl (int cmd, int nentries, __aclent32_t *aclbufp)
cant_access_acl:
switch (cmd)
{
+ struct __stat64 st;
case SETACL:
/* Open for writing required to be able to set ctime
@@ -999,7 +971,6 @@ cant_access_acl:
set_errno (ENOSPC);
else
{
- struct __stat64 st;
if (!fstat (&st))
{
aclbufp[0].a_type = USER_OBJ;
@@ -1283,8 +1254,7 @@ fhandler_disk_file::link (const char *newpath)
status = NtSetInformationFile (fh, &io, pfli, size, FileLinkInformation);
if (!NT_SUCCESS (status))
{
- if (status == STATUS_INVALID_DEVICE_REQUEST
- || status == STATUS_NOT_SUPPORTED)
+ if (status == STATUS_INVALID_DEVICE_REQUEST)
{
/* FS doesn't support hard links. Linux returns EPERM. */
set_errno (EPERM);
@@ -2428,17 +2398,6 @@ fhandler_cygdrive::fstat (struct __stat64 *buf)
return 0;
}
-int __stdcall
-fhandler_cygdrive::fstatvfs (struct statvfs *sfs)
-{
- /* Virtual file system. Just return an empty buffer with a few values
- set to something useful. Just as on Linux. */
- memset (sfs, 0, sizeof (*sfs));
- sfs->f_bsize = sfs->f_frsize = 4096;
- sfs->f_namemax = NAME_MAX;
- return 0;
-}
-
DIR *
fhandler_cygdrive::opendir (int fd)
{
diff --git a/winsup/cygwin/fhandler_dsp.cc b/winsup/cygwin/fhandler_dsp.cc
index b16606615..1cb3b465e 100644
--- a/winsup/cygwin/fhandler_dsp.cc
+++ b/winsup/cygwin/fhandler_dsp.cc
@@ -21,7 +21,6 @@ details. */
#include "dtable.h"
#include "cygheap.h"
#include "sigproc.h"
-#include "cygwait.h"
/*------------------------------------------------------------------------
Simple encapsulation of the win32 audio device.
@@ -545,14 +544,14 @@ fhandler_dev_dsp::Audio_out::waitforspace ()
debug_printf ("100ms");
switch (cygwait (100))
{
- case WAIT_SIGNALED:
+ case WAIT_OBJECT_0:
if (!_my_tls.call_signal_handler ())
{
set_errno (EINTR);
return false;
}
break;
- case WAIT_CANCELED:
+ case WAIT_OBJECT_0 + 1:
pthread::static_cancel_self ();
/*NOTREACHED*/
default:
@@ -923,14 +922,14 @@ fhandler_dev_dsp::Audio_in::waitfordata ()
debug_printf ("100ms");
switch (cygwait (100))
{
- case WAIT_SIGNALED:
+ case WAIT_OBJECT_0:
if (!_my_tls.call_signal_handler ())
{
set_errno (EINTR);
return false;
}
break;
- case WAIT_CANCELED:
+ case WAIT_OBJECT_0 + 1:
pthread::static_cancel_self ();
/*NOTREACHED*/
default:
diff --git a/winsup/cygwin/fhandler_fifo.cc b/winsup/cygwin/fhandler_fifo.cc
index d2b236d5c..0e2d2bde4 100644
--- a/winsup/cygwin/fhandler_fifo.cc
+++ b/winsup/cygwin/fhandler_fifo.cc
@@ -22,7 +22,6 @@
#include "cygtls.h"
#include "shared_info.h"
#include "ntdll.h"
-#include "cygwait.h"
fhandler_fifo::fhandler_fifo ():
fhandler_base_overlapped (),
@@ -243,14 +242,6 @@ fhandler_fifo::wait (HANDLE h)
case WAIT_OBJECT_0:
debug_only_printf ("successfully waited for %s", what);
return true;
- case WAIT_SIGNALED:
- debug_only_printf ("interrupted by signal while waiting for %s", what);
- set_errno (EINTR);
- return false;
- case WAIT_CANCELED:
- debug_only_printf ("cancellable interruption while waiting for %s", what);
- pthread::static_cancel_self (); /* never returns */
- break;
case WAIT_TIMEOUT:
if (h == write_ready)
{
@@ -263,6 +254,14 @@ fhandler_fifo::wait (HANDLE h)
return false;
}
break;
+ case WAIT_OBJECT_0 + 1:
+ debug_only_printf ("interrupted by signal while waiting for %s", what);
+ set_errno (EINTR);
+ return false;
+ case WAIT_OBJECT_0 + 2:
+ debug_only_printf ("cancellable interruption while waiting for %s", what);
+ pthread::static_cancel_self (); /* never returns */
+ break;
default:
debug_only_printf ("unknown error while waiting for %s", what);
__seterrno ();
diff --git a/winsup/cygwin/fhandler_floppy.cc b/winsup/cygwin/fhandler_floppy.cc
index 0caca96e8..070a30ab5 100644
--- a/winsup/cygwin/fhandler_floppy.cc
+++ b/winsup/cygwin/fhandler_floppy.cc
@@ -2,7 +2,7 @@
fhandler classes.
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- 2009, 2011, 2012 Red Hat, Inc.
+ 2009, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -13,7 +13,6 @@ details. */
#include "winsup.h"
#include <alloca.h>
#include <unistd.h>
-#include <sys/param.h>
#include <winioctl.h>
#include <cygwin/rdevio.h>
#include <cygwin/hdreg.h>
@@ -447,7 +446,7 @@ fhandler_dev_floppy::raw_read (void *ptr, size_t& ulen)
{
if (devbufstart < devbufend)
{
- bytes_to_read = MIN (len, devbufend - devbufstart);
+ bytes_to_read = min (len, devbufend - devbufstart);
debug_printf ("read %d bytes from buffer (rest %d)",
bytes_to_read,
devbufend - devbufstart - bytes_to_read);
diff --git a/winsup/cygwin/fhandler_mem.cc b/winsup/cygwin/fhandler_mem.cc
index 6b3431bbb..c3c442ebd 100644
--- a/winsup/cygwin/fhandler_mem.cc
+++ b/winsup/cygwin/fhandler_mem.cc
@@ -1,7 +1,7 @@
/* fhandler_mem.cc. See fhandler.h for a description of the fhandler classes.
Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2008, 2009,
- 2010, 2011, 2012 Red Hat, Inc.
+ 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -36,7 +36,7 @@ fhandler_dev_mem::open (int flags, mode_t)
if (!wincap.has_physical_mem_access ())
{
- set_errno (EACCES);
+ set_errno (ENOENT);
debug_printf ("%s is accessible under NT4/W2K/XP only", dev ().name);
return 0;
}
diff --git a/winsup/cygwin/fhandler_nodevice.cc b/winsup/cygwin/fhandler_nodevice.cc
index 39842d394..4ffe2c447 100644
--- a/winsup/cygwin/fhandler_nodevice.cc
+++ b/winsup/cygwin/fhandler_nodevice.cc
@@ -15,14 +15,10 @@ details. */
#include "fhandler.h"
int
-fhandler_nodevice::open (int flags, mode_t)
+fhandler_nodevice::open (int, mode_t)
{
if (!pc.error)
set_errno (ENXIO);
- /* Fixup EROFS error returned from path_conv if /dev is not backed by real
- directory on disk and the file doesn't exist. */
- else if (pc.error == EROFS && (flags & O_ACCMODE) == O_RDONLY)
- set_errno (ENOENT);
return 0;
}
diff --git a/winsup/cygwin/fhandler_process.cc b/winsup/cygwin/fhandler_process.cc
index 42beef0e2..12ba292c7 100644
--- a/winsup/cygwin/fhandler_process.cc
+++ b/winsup/cygwin/fhandler_process.cc
@@ -1,7 +1,7 @@
/* fhandler_process.cc: fhandler for /proc/<pid> virtual filesystem
Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
- 2010, 2011, 2012 Red Hat, Inc.
+ 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -27,7 +27,6 @@ details. */
#include "pwdgrp.h"
#include "mount.h"
#include "tls_pbuf.h"
-#include <sys/sysmacros.h>
#include <sys/param.h>
#include <ctype.h>
@@ -52,7 +51,6 @@ static _off64_t format_process_gid (void *, char *&);
static _off64_t format_process_ctty (void *, char *&);
static _off64_t format_process_fd (void *, char *&);
static _off64_t format_process_mounts (void *, char *&);
-static _off64_t format_process_mountinfo (void *, char *&);
static const virt_tab_t process_tab[] =
{
@@ -66,7 +64,6 @@ static const virt_tab_t process_tab[] =
{ _VN ("fd"), FH_PROCESSFD, virt_directory, format_process_fd },
{ _VN ("gid"), FH_PROCESS, virt_file, format_process_gid },
{ _VN ("maps"), FH_PROCESS, virt_file, format_process_maps },
- { _VN ("mountinfo"), FH_PROCESS, virt_file, format_process_mountinfo },
{ _VN ("mounts"), FH_PROCESS, virt_file, format_process_mounts },
{ _VN ("pgid"), FH_PROCESS, virt_file, format_process_pgid },
{ _VN ("ppid"), FH_PROCESS, virt_file, format_process_ppid },
@@ -1159,7 +1156,7 @@ extern "C" {
};
static _off64_t
-format_process_mountstuff (void *data, char *&destbuf, bool mountinfo)
+format_process_mounts (void *data, char *&destbuf)
{
_pinfo *p = (_pinfo *) data;
user_info *u_shared = NULL;
@@ -1167,7 +1164,7 @@ format_process_mountstuff (void *data, char *&destbuf, bool mountinfo)
_off64_t len = 0;
struct mntent *mnt;
- if (p->uid != myself->uid)
+ if (p->pid != myself->pid)
{
WCHAR sid_string[UNLEN + 1] = L""; /* Large enough for SID */
@@ -1184,58 +1181,26 @@ format_process_mountstuff (void *data, char *&destbuf, bool mountinfo)
}
else
u_shared = user_shared;
- mount_info *mtab = &u_shared->mountinfo;
/* Store old value of _my_tls.locals here. */
int iteration = _my_tls.locals.iteration;
unsigned available_drives = _my_tls.locals.available_drives;
/* This reinitializes the above values in _my_tls. */
setmntent (NULL, NULL);
- /* Restore iteration immediately since it's not used below. We use the
- local iteration variable instead*/
- _my_tls.locals.iteration = iteration;
-
- for (iteration = 0; (mnt = mtab->getmntent (iteration)); ++iteration)
+ while ((mnt = getmntent (NULL)))
{
- /* We have no access to the drives mapped into another user session and
- _my_tls.locals.available_drives contains the mappings of the current
- user. So, when printing the mount table of another user, we check
- each cygdrive entry if it's a remote drive. If so, ignore it. */
- if (iteration >= mtab->nmounts && u_hdl)
- {
- WCHAR drive[3] = { mnt->mnt_fsname[0], L':', L'\0' };
- disk_type dt = get_disk_type (drive);
-
- if (dt == DT_SHARE_SMB || dt == DT_SHARE_NFS)
- continue;
- }
destbuf = (char *) crealloc_abort (destbuf, len
+ strlen (mnt->mnt_fsname)
+ strlen (mnt->mnt_dir)
+ strlen (mnt->mnt_type)
+ strlen (mnt->mnt_opts)
- + 30);
- if (mountinfo)
- {
- path_conv pc (mnt->mnt_dir, PC_SYM_NOFOLLOW | PC_POSIX);
- dev_t dev = pc.exists () ? pc.fs_serial_number () : -1;
-
- len += __small_sprintf (destbuf + len,
- "%d %d %d:%d / %s %s - %s %s %s\n",
- iteration, iteration,
- major (dev), minor (dev),
- mnt->mnt_dir, mnt->mnt_opts,
- mnt->mnt_type, mnt->mnt_fsname,
- (pc.fs_flags () & FILE_READ_ONLY_VOLUME)
- ? "ro" : "rw");
- }
- else
- len += __small_sprintf (destbuf + len, "%s %s %s %s %d %d\n",
- mnt->mnt_fsname, mnt->mnt_dir, mnt->mnt_type,
- mnt->mnt_opts, mnt->mnt_freq, mnt->mnt_passno);
+ + 28);
+ len += __small_sprintf (destbuf + len, "%s %s %s %s %d %d\n",
+ mnt->mnt_fsname, mnt->mnt_dir, mnt->mnt_type,
+ mnt->mnt_opts, mnt->mnt_freq, mnt->mnt_passno);
}
-
- /* Restore available_drives */
+ /* Restore old value of _my_tls.locals here. */
+ _my_tls.locals.iteration = iteration;
_my_tls.locals.available_drives = available_drives;
if (u_hdl) /* Only not-NULL if open_shared has been called. */
@@ -1246,18 +1211,6 @@ format_process_mountstuff (void *data, char *&destbuf, bool mountinfo)
return len;
}
-static _off64_t
-format_process_mounts (void *data, char *&destbuf)
-{
- return format_process_mountstuff (data, destbuf, false);
-}
-
-static _off64_t
-format_process_mountinfo (void *data, char *&destbuf)
-{
- return format_process_mountstuff (data, destbuf, true);
-}
-
int
get_process_state (DWORD dwProcessId)
{
diff --git a/winsup/cygwin/fhandler_procnet.cc b/winsup/cygwin/fhandler_procnet.cc
index 21af9fe35..836bf33b8 100644
--- a/winsup/cygwin/fhandler_procnet.cc
+++ b/winsup/cygwin/fhandler_procnet.cc
@@ -1,6 +1,6 @@
/* fhandler_procnet.cc: fhandler for /proc/net virtual filesystem
- Copyright 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ Copyright 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -9,7 +9,7 @@ Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
#define __INSIDE_CYGWIN_NET__
-#define USE_SYS_TYPES_FD_SET
+
#include "winsup.h"
#include "cygerrno.h"
#include "security.h"
@@ -18,9 +18,13 @@ details. */
#include "fhandler_virtual.h"
#include "dtable.h"
#include "cygheap.h"
-#include <ws2tcpip.h>
+
+#include <netdb.h>
+#define USE_SYS_TYPES_FD_SET
+#include <winsock2.h>
#include <iphlpapi.h>
#include <asm/byteorder.h>
+#include <cygwin/in6.h>
#define _COMPILING_NEWLIB
#include <dirent.h>
diff --git a/winsup/cygwin/fhandler_registry.cc b/winsup/cygwin/fhandler_registry.cc
index 787922962..e0e595f19 100644
--- a/winsup/cygwin/fhandler_registry.cc
+++ b/winsup/cygwin/fhandler_registry.cc
@@ -77,12 +77,10 @@ static const HKEY registry_keys[] =
static const int ROOT_KEY_COUNT = sizeof (registry_keys) / sizeof (HKEY);
-#ifndef __MINGW64_VERSION_MAJOR
extern "C" {
LONG WINAPI RegOpenUserClassesRoot (HANDLE, DWORD, REGSAM, PHKEY);
LONG WINAPI RegOpenCurrentUser (REGSAM, PHKEY);
};
-#endif
/* Make sure to access the correct per-user HKCR and HKCU hives, even if
the current user is only impersonated in another user's session. */
@@ -850,7 +848,6 @@ fhandler_registry::open (int flags, mode_t mode)
{
set_errno (EROFS);
res = 0;
- goto out;
}
else
{
diff --git a/winsup/cygwin/fhandler_serial.cc b/winsup/cygwin/fhandler_serial.cc
index 96b4062f1..5a53a11fd 100644
--- a/winsup/cygwin/fhandler_serial.cc
+++ b/winsup/cygwin/fhandler_serial.cc
@@ -1,7 +1,7 @@
/* fhandler_serial.cc
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2008, 2009, 2011, 2012 Red Hat, Inc.
+ 2006, 2007, 2008, 2009, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -11,7 +11,6 @@ details. */
#include "winsup.h"
#include <unistd.h>
-#include <sys/param.h>
#include "cygerrno.h"
#include "security.h"
#include "path.h"
@@ -19,13 +18,7 @@ details. */
#include "sigproc.h"
#include "pinfo.h"
#include <asm/socket.h>
-#ifdef __MINGW64_VERSION_MAJOR
-#include <devioctl.h>
-#include <ntddser.h>
-#else
#include <ddk/ntddser.h>
-#endif
-#include "cygwait.h"
/**********************************************************************/
/* fhandler_serial */
@@ -51,7 +44,7 @@ fhandler_serial::raw_read (void *ptr, size_t& ulen)
int tot;
DWORD n;
- size_t minchars = vmin_ ? MIN (vmin_, ulen) : ulen;
+ size_t minchars = vmin_ ? min (vmin_, ulen) : ulen;
debug_printf ("ulen %d, vmin_ %d, vtime_ %d, hEvent %p", ulen, vmin_, vtime_,
io_status.hEvent);
@@ -77,7 +70,7 @@ fhandler_serial::raw_read (void *ptr, size_t& ulen)
termios_printf ("error detected %x", ev);
else if (st.cbInQue && !vtime_)
inq = st.cbInQue;
- else if (!is_nonblocking () && !overlapped_armed)
+ else if (!overlapped_armed)
{
if ((size_t) tot >= minchars)
break;
@@ -89,6 +82,16 @@ fhandler_serial::raw_read (void *ptr, size_t& ulen)
}
else if (GetLastError () != ERROR_IO_PENDING)
goto err;
+ else if (is_nonblocking ())
+ {
+ PurgeComm (get_handle (), PURGE_RXABORT);
+ if (tot == 0)
+ {
+ tot = -1;
+ set_errno (EAGAIN);
+ }
+ goto out;
+ }
else
{
overlapped_armed = 1;
@@ -100,13 +103,13 @@ fhandler_serial::raw_read (void *ptr, size_t& ulen)
goto err;
debug_printf ("n %d, ev %x", n, ev);
break;
- case WAIT_SIGNALED:
+ case WAIT_OBJECT_0 + 1:
tot = -1;
PurgeComm (get_handle (), PURGE_RXABORT);
overlapped_armed = 0;
set_sig_errno (EINTR);
goto out;
- case WAIT_CANCELED:
+ case WAIT_OBJECT_0 + 2:
PurgeComm (get_handle (), PURGE_RXABORT);
overlapped_armed = 0;
pthread::static_cancel_self ();
@@ -128,14 +131,7 @@ fhandler_serial::raw_read (void *ptr, size_t& ulen)
goto err;
else if (is_nonblocking ())
{
- /* Use CancelIo rather than PurgeComm (PURGE_RXABORT) since
- PurgeComm apparently discards in-flight bytes while CancelIo
- only stops the overlapped IO routine. */
- CancelIo (get_handle ());
- if (GetOverlappedResult (get_handle (), &io_status, &n, FALSE))
- tot = n;
- else if (GetLastError () != ERROR_OPERATION_ABORTED)
- goto err;
+ PurgeComm (get_handle (), PURGE_RXABORT);
if (tot == 0)
{
tot = -1;
@@ -207,12 +203,12 @@ fhandler_serial::raw_write (const void *ptr, size_t len)
{
case WAIT_OBJECT_0:
break;
- case WAIT_SIGNALED:
+ case WAIT_OBJECT_0 + 1:
PurgeComm (get_handle (), PURGE_TXABORT);
set_sig_errno (EINTR);
ForceCloseHandle (write_status.hEvent);
return -1;
- case WAIT_CANCELED:
+ case WAIT_OBJECT_0 + 2:
PurgeComm (get_handle (), PURGE_TXABORT);
pthread::static_cancel_self ();
/*NOTREACHED*/
@@ -247,6 +243,7 @@ fhandler_serial::open (int flags, mode_t mode)
{
int res;
COMMTIMEOUTS to;
+ extern BOOL reset_com;
syscall_printf ("fhandler_serial::open (%s, %p, %p)",
get_name (), flags, mode);
diff --git a/winsup/cygwin/fhandler_socket.cc b/winsup/cygwin/fhandler_socket.cc
index a11c7efbe..17d98dc38 100644
--- a/winsup/cygwin/fhandler_socket.cc
+++ b/winsup/cygwin/fhandler_socket.cc
@@ -1,7 +1,7 @@
/* fhandler_socket.cc. See fhandler.h for a description of the fhandler classes.
Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -12,29 +12,31 @@
/* #define DEBUG_NEST_ON 1 */
#define __INSIDE_CYGWIN_NET__
-#define USE_SYS_TYPES_FD_SET
#include "winsup.h"
+#include <sys/un.h>
+#include <asm/byteorder.h>
+
+#include <stdlib.h>
+#define USE_SYS_TYPES_FD_SET
+#include <winsock2.h>
+#include <mswsock.h>
+#include <iphlpapi.h>
#include "cygerrno.h"
#include "security.h"
+#include "cygwin/version.h"
+#include "perprocess.h"
#include "path.h"
#include "fhandler.h"
#include "dtable.h"
#include "cygheap.h"
-#include <ws2tcpip.h>
-#include <mswsock.h>
-#include <iphlpapi.h>
-#include <asm/byteorder.h>
-#include "cygwin/version.h"
-#include "perprocess.h"
#include "shared_info.h"
#include "sigproc.h"
#include "wininfo.h"
#include <unistd.h>
-#include <sys/param.h>
#include <sys/acl.h>
#include "cygtls.h"
-#include <sys/un.h>
+#include "cygwin/in6.h"
#include "ntdll.h"
#include "miscfuncs.h"
@@ -125,7 +127,9 @@ get_inet_addr (const struct sockaddr *in, int inlen,
some greedy Win32 application. Therefore we should never wait
endlessly without checking for signals and thread cancel event. */
pthread_testcancel ();
- if (cancelable_wait (NULL, cw_nowait, cw_sig_eintr) == WAIT_SIGNALED
+ /* Using IsEventSignalled like this is racy since another thread could
+ be waiting for signal_arrived. */
+ if (IsEventSignalled (signal_arrived)
&& !_my_tls.call_signal_handler ())
{
set_errno (EINTR);
@@ -657,8 +661,7 @@ fhandler_socket::wait_for_events (const long event_mask, const DWORD flags)
return SOCKET_ERROR;
}
- WSAEVENT ev[2] = { wsock_evt };
- set_signal_arrived here (ev[1]);
+ WSAEVENT ev[2] = { wsock_evt, signal_arrived };
switch (WSAWaitForMultipleEvents (2, ev, FALSE, 50, FALSE))
{
case WSA_WAIT_TIMEOUT:
@@ -1125,9 +1128,14 @@ fhandler_socket::listen (int backlog)
}
else if (get_addr_family () == AF_INET6)
{
- struct sockaddr_in6 sin6;
- memset (&sin6, 0, sizeof sin6);
- sin6.sin6_family = AF_INET6;
+ struct sockaddr_in6 sin6 =
+ {
+ sin6_family: AF_INET6,
+ sin6_port: 0,
+ sin6_flowinfo: 0,
+ sin6_addr: {{IN6ADDR_ANY_INIT}},
+ sin6_scope_id: 0
+ };
if (!::bind (get_socket (), (struct sockaddr *) &sin6, sizeof sin6))
res = ::listen (get_socket (), backlog);
}
@@ -1205,12 +1213,12 @@ fhandler_socket::accept4 (struct sockaddr *peer, int *len, int flags)
bound socket name of the peer's socket. For now
we just fake an unbound socket on the other side. */
static struct sockaddr_un un = { AF_LOCAL, "" };
- memcpy (peer, &un, MIN (*len, (int) sizeof (un.sun_family)));
+ memcpy (peer, &un, min (*len, (int) sizeof (un.sun_family)));
*len = (int) sizeof (un.sun_family);
}
else
{
- memcpy (peer, &lpeer, MIN (*len, llen));
+ memcpy (peer, &lpeer, min (*len, llen));
*len = llen;
}
}
@@ -1239,7 +1247,7 @@ fhandler_socket::getsockname (struct sockaddr *name, int *namelen)
sun.sun_path[0] = '\0';
if (get_sun_path ())
strncat (sun.sun_path, get_sun_path (), UNIX_PATH_LEN - 1);
- memcpy (name, &sun, MIN (*namelen, (int) SUN_LEN (&sun) + 1));
+ memcpy (name, &sun, min (*namelen, (int) SUN_LEN (&sun) + 1));
*namelen = (int) SUN_LEN (&sun) + (get_sun_path () ? 1 : 0);
res = 0;
}
@@ -1253,7 +1261,7 @@ fhandler_socket::getsockname (struct sockaddr *name, int *namelen)
res = ::getsockname (get_socket (), (struct sockaddr *) &sock, &len);
if (!res)
{
- memcpy (name, &sock, MIN (*namelen, len));
+ memcpy (name, &sock, min (*namelen, len));
*namelen = len;
}
else
@@ -1282,7 +1290,7 @@ fhandler_socket::getsockname (struct sockaddr *name, int *namelen)
}
if (!res)
{
- memcpy (name, &sock, MIN (*namelen, len));
+ memcpy (name, &sock, min (*namelen, len));
*namelen = len;
}
}
@@ -1313,12 +1321,12 @@ fhandler_socket::getpeername (struct sockaddr *name, int *namelen)
sun.sun_path[0] = '\0';
if (get_peer_sun_path ())
strncat (sun.sun_path, get_peer_sun_path (), UNIX_PATH_LEN - 1);
- memcpy (name, &sun, MIN (*namelen, (int) SUN_LEN (&sun) + 1));
+ memcpy (name, &sun, min (*namelen, (int) SUN_LEN (&sun) + 1));
*namelen = (int) SUN_LEN (&sun) + (get_peer_sun_path () ? 1 : 0);
}
else
{
- memcpy (name, &sock, MIN (*namelen, len));
+ memcpy (name, &sock, min (*namelen, len));
*namelen = len;
}
@@ -1330,7 +1338,7 @@ fhandler_socket::read (void *in_ptr, size_t& len)
{
WSABUF wsabuf = { len, (char *) in_ptr };
WSAMSG wsamsg = { NULL, 0, &wsabuf, 1, { 0, NULL }, 0 };
- len = recv_internal (&wsamsg, false);
+ len = recv_internal (&wsamsg);
}
int
@@ -1346,16 +1354,14 @@ fhandler_socket::readv (const struct iovec *const iov, const int iovcnt,
wsaptr->buf = (char *) iovptr->iov_base;
}
WSAMSG wsamsg = { NULL, 0, wsabuf, iovcnt, { 0, NULL}, 0 };
- return recv_internal (&wsamsg, false);
+ return recv_internal (&wsamsg);
}
extern "C" {
-#ifndef __MINGW64_VERSION_MAJOR
#define WSAID_WSARECVMSG \
{0xf689d7c8,0x6f1f,0x436b,{0x8a,0x53,0xe5,0x4f,0xe3,0x51,0xc3,0x22}};
typedef int (WSAAPI *LPFN_WSARECVMSG)(SOCKET,LPWSAMSG,LPDWORD,LPWSAOVERLAPPED,
LPWSAOVERLAPPED_COMPLETION_ROUTINE);
-#endif
int WSAAPI WSASendMsg(SOCKET,LPWSAMSG,DWORD,LPDWORD, LPWSAOVERLAPPED,
LPWSAOVERLAPPED_COMPLETION_ROUTINE);
};
@@ -1375,32 +1381,28 @@ get_ext_funcptr (SOCKET sock, void *funcptr)
}
inline ssize_t
-fhandler_socket::recv_internal (LPWSAMSG wsamsg, bool use_recvmsg)
+fhandler_socket::recv_internal (LPWSAMSG wsamsg)
{
ssize_t res = 0;
DWORD ret = 0, wret;
int evt_mask = FD_READ | ((wsamsg->dwFlags & MSG_OOB) ? FD_OOB : 0);
LPWSABUF &wsabuf = wsamsg->lpBuffers;
ULONG &wsacnt = wsamsg->dwBufferCount;
+ bool use_recvmsg = false;
static NO_COPY LPFN_WSARECVMSG WSARecvMsg;
DWORD wait_flags = wsamsg->dwFlags;
bool waitall = !!(wait_flags & MSG_WAITALL);
wsamsg->dwFlags &= (MSG_OOB | MSG_PEEK | MSG_DONTROUTE);
- if (use_recvmsg)
+ if (wsamsg->Control.len > 0)
{
if (!WSARecvMsg
&& get_ext_funcptr (get_socket (), &WSARecvMsg) == SOCKET_ERROR)
{
- if (wsamsg->Control.len > 0)
- {
- set_winsock_errno ();
- return SOCKET_ERROR;
- }
- use_recvmsg = false;
+ set_winsock_errno ();
+ return SOCKET_ERROR;
}
- else /* Only MSG_PEEK is supported by WSARecvMsg. */
- wsamsg->dwFlags &= MSG_PEEK;
+ use_recvmsg = true;
}
if (waitall)
{
@@ -1507,7 +1509,7 @@ fhandler_socket::recvfrom (void *ptr, size_t len, int flags,
&wsabuf, 1,
{ 0, NULL},
flags };
- ssize_t ret = recv_internal (&wsamsg, false);
+ ssize_t ret = recv_internal (&wsamsg);
if (fromlen)
*fromlen = wsamsg.namelen;
return ret;
@@ -1522,12 +1524,12 @@ fhandler_socket::recvmsg (struct msghdr *msg, int flags)
/* Disappointing but true: Even if WSARecvMsg is supported, it's only
supported for datagram and raw sockets. */
- bool use_recvmsg = true;
- if (get_socket_type () == SOCK_STREAM || get_addr_family () == AF_LOCAL
- || !wincap.has_recvmsg ())
+ if (!wincap.has_recvmsg () || get_socket_type () == SOCK_STREAM
+ || get_addr_family () == AF_LOCAL)
{
- use_recvmsg = false;
msg->msg_controllen = 0;
+ if (!CYGWIN_VERSION_CHECK_FOR_USING_ANCIENT_MSGHDR)
+ msg->msg_flags = 0;
}
WSABUF wsabuf[msg->msg_iovlen];
@@ -1542,7 +1544,7 @@ fhandler_socket::recvmsg (struct msghdr *msg, int flags)
wsabuf, msg->msg_iovlen,
{ msg->msg_controllen, (char *) msg->msg_control },
flags };
- ssize_t ret = recv_internal (&wsamsg, use_recvmsg);
+ ssize_t ret = recv_internal (&wsamsg);
if (ret >= 0)
{
msg->msg_namelen = wsamsg.namelen;
@@ -1781,7 +1783,7 @@ fhandler_socket::close ()
res = -1;
break;
}
- if (cygwait (10) == WAIT_SIGNALED)
+ if (WaitForSingleObject (signal_arrived, 10) == WAIT_OBJECT_0)
{
set_errno (EINTR);
res = -1;
diff --git a/winsup/cygwin/fhandler_tape.cc b/winsup/cygwin/fhandler_tape.cc
index 855fd5dfd..17d2685f1 100644
--- a/winsup/cygwin/fhandler_tape.cc
+++ b/winsup/cygwin/fhandler_tape.cc
@@ -2,7 +2,7 @@
classes.
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
- 2008, 2010, 2011, 2012 Red Hat, Inc.
+ 2008, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -15,12 +15,7 @@ details. */
#include <stdlib.h>
#include <sys/mtio.h>
#include <sys/param.h>
-#ifdef __MINGW64_VERSION_MAJOR
-#include <devioctl.h>
-#include <ntddstor.h>
-#else
#include <ddk/ntddstor.h>
-#endif
#include "security.h"
#include "path.h"
#include "fhandler.h"
@@ -1147,13 +1142,26 @@ mtinfo::initialize ()
inline bool
fhandler_dev_tape::_lock (bool cancelable)
{
+ HANDLE w4[3] = { mt_mtx, signal_arrived, NULL };
+ DWORD cnt = 2;
+ if (cancelable && (w4[2] = pthread::get_cancel_event ()) != NULL)
+ cnt = 3;
/* O_NONBLOCK is only valid in a read or write call. Only those are
cancelable. */
DWORD timeout = cancelable && is_nonblocking () ? 0 : INFINITE;
- switch (cancelable_wait (mt_mtx, timeout, cw_sig | cw_cancel | cw_cancel_self))
+restart:
+ switch (WaitForMultipleObjects (cnt, w4, FALSE, timeout))
{
case WAIT_OBJECT_0:
return true;
+ case WAIT_OBJECT_0 + 1:
+ if (_my_tls.call_signal_handler ())
+ goto restart;
+ set_errno (EINTR);
+ return false;
+ case WAIT_OBJECT_0 + 2:
+ pthread::static_cancel_self ();
+ /*NOTREACHED*/
case WAIT_TIMEOUT:
set_errno (EAGAIN);
return false;
@@ -1270,7 +1278,7 @@ fhandler_dev_tape::raw_read (void *ptr, size_t &ulen)
{
if (devbufend > devbufstart)
{
- bytes_to_read = MIN (len, devbufend - devbufstart);
+ bytes_to_read = min (len, devbufend - devbufstart);
debug_printf ("read %d bytes from buffer (rest %d)",
bytes_to_read, devbufend - devbufstart - bytes_to_read);
memcpy (buf, devbuf + devbufstart, bytes_to_read);
diff --git a/winsup/cygwin/fhandler_termios.cc b/winsup/cygwin/fhandler_termios.cc
index 18afacf1d..c218fdeda 100644
--- a/winsup/cygwin/fhandler_termios.cc
+++ b/winsup/cygwin/fhandler_termios.cc
@@ -1,7 +1,7 @@
/* fhandler_termios.cc
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009,
- 2010, 2011, 2012 Red Hat, Inc.
+ 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -19,9 +19,6 @@ details. */
#include "pinfo.h"
#include "tty.h"
#include "cygtls.h"
-#include "dtable.h"
-#include "cygheap.h"
-#include "child_info.h"
#include "ntdll.h"
/* Common functions shared by tty/console */
@@ -102,7 +99,7 @@ fhandler_termios::tcsetpgrp (const pid_t pgid)
int
fhandler_termios::tcgetpgrp ()
{
- if (myself->ctty > 0 && myself->ctty == tc ()->ntty)
+ if (myself->ctty != -1 && myself->ctty == tc ()->ntty)
return tc ()->pgid;
set_errno (ENOTTY);
return -1;
@@ -204,7 +201,7 @@ fhandler_termios::bg_check (int sig)
{
/* Don't raise a SIGTT* signal if we have already been
interrupted by another signal. */
- if (cygwait ((DWORD) 0) != WAIT_SIGNALED)
+ if (WaitForSingleObject (signal_arrived, 0) != WAIT_OBJECT_0)
{
siginfo_t si = {0};
si.si_signo = sig;
@@ -237,7 +234,7 @@ fhandler_termios::line_edit (const char *rptr, int nread, termios& ti)
{
c = *rptr++;
- paranoid_printf ("char %0c", c);
+ termios_printf ("char %c", c);
/* Check for special chars */
@@ -400,15 +397,14 @@ fhandler_termios::sigflush ()
/* FIXME: Checking get_ttyp() for NULL is not right since it should not
be NULL while this is alive. However, we can conceivably close a
ctty while exiting and that will zero this. */
- if ((!have_execed || have_execed_cygwin) && get_ttyp ()
- && !(get_ttyp ()->ti.c_lflag & NOFLSH))
+ if (get_ttyp () && !(get_ttyp ()->ti.c_lflag & NOFLSH))
tcflush (TCIFLUSH);
}
-pid_t
+int
fhandler_termios::tcgetsid ()
{
- if (myself->ctty > 0 && myself->ctty == tc ()->ntty)
+ if (myself->ctty != -1 && myself->ctty == tc ()->ntty)
return tc ()->getsid ();
set_errno (ENOTTY);
return -1;
diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc
index c5b65c5b8..b316a0aaf 100644
--- a/winsup/cygwin/fhandler_tty.cc
+++ b/winsup/cygwin/fhandler_tty.cc
@@ -11,7 +11,6 @@ details. */
#include "winsup.h"
#include <stdlib.h>
-#include <sys/param.h>
#include <cygwin/kd.h>
#include "cygerrno.h"
#include "security.h"
@@ -26,7 +25,6 @@ details. */
#include "cygthread.h"
#include "child_info.h"
#include <asm/socket.h>
-#include "cygwait.h"
#define close_maybe(h) \
do { \
@@ -51,32 +49,6 @@ fhandler_pty_slave::get_unit ()
return dev ().get_minor ();
}
-bool
-bytes_available (DWORD& n, HANDLE h)
-{
- DWORD navail, nleft;
- navail = nleft = 0;
- bool succeeded = PeekNamedPipe (h, NULL, 0, NULL, &navail, &nleft);
- if (succeeded)
- /* nleft should always be the right choice unless something has written 0
- bytes to the pipe. In that pathological case we return the actual number
- of bytes available in the pipe. See cgf-000008 for more details. */
- n = nleft ?: navail;
- else
- {
- termios_printf ("PeekNamedPipe(%p) failed, %E", h);
- n = 0;
- }
- debug_only_printf ("n %u, nleft %u, navail %u");
- return succeeded;
-}
-
-bool
-fhandler_pty_common::bytes_available (DWORD &n)
-{
- return ::bytes_available (n, get_handle ());
-}
-
#ifdef DEBUGGING
static class mutex_stack
{
@@ -89,16 +61,9 @@ public:
static int osi;
#endif /*DEBUGGING*/
-void
-fhandler_pty_master::flush_to_slave ()
-{
- if (get_readahead_valid () && !(get_ttyp ()->ti.c_lflag & ICANON))
- accept_input ();
-}
-
DWORD
fhandler_pty_common::__acquire_output_mutex (const char *fn, int ln,
- DWORD ms)
+ DWORD ms)
{
if (strace.active ())
strace.prntf (_STRACE_TERMIOS, fn, "(%d): pty output_mutex (%p): waiting %d ms", ln, output_mutex, ms);
@@ -176,7 +141,7 @@ fhandler_pty_master::accept_input ()
DWORD rc;
DWORD written = 0;
- paranoid_printf ("about to write %d chars to slave", bytes_left);
+ termios_printf ("about to write %d chars to slave", bytes_left);
rc = WriteFile (get_output_handle (), p, bytes_left, &written, NULL);
if (!rc)
{
@@ -228,8 +193,6 @@ fhandler_pty_master::process_slave_output (char *buf, size_t len, int pktmode_on
int column = 0;
int rc = 0;
- flush_to_slave ();
-
if (len == 0)
goto out;
@@ -246,6 +209,7 @@ fhandler_pty_master::process_slave_output (char *buf, size_t len, int pktmode_on
goto out;
}
+
for (;;)
{
/* Set RLEN to the number of bytes to read from the pipe. */
@@ -261,40 +225,50 @@ fhandler_pty_master::process_slave_output (char *buf, size_t len, int pktmode_on
if (rlen > sizeof outbuf)
rlen = sizeof outbuf;
- n = 0;
- for (;;)
- {
- if (!bytes_available (n))
- goto err;
- if (n)
- break;
- if (hit_eof ())
- goto out;
- /* DISCARD (FLUSHO) and tcflush can finish here. */
- if ((get_ttyp ()->ti.c_lflag & FLUSHO || !buf))
- goto out;
+ HANDLE handle = get_io_handle ();
- if (is_nonblocking ())
+ n = 0; // get_readahead_into_buffer (outbuf, len);
+ if (!n)
+ {
+ /* Doing a busy wait like this is quite inefficient, but nothing
+ else seems to work completely. Windows should provide some sort
+ of overlapped I/O for pipes, or something, but it doesn't. */
+ while (1)
{
- set_errno (EAGAIN);
- rc = -1;
- goto out;
+ if (!PeekNamedPipe (handle, NULL, 0, NULL, &n, NULL))
+ {
+ termios_printf ("PeekNamedPipe(%p) failed, %E", handle);
+ goto err;
+ }
+ if (n > 0)
+ break;
+ if (hit_eof ())
+ goto out;
+ /* DISCARD (FLUSHO) and tcflush can finish here. */
+ if ((get_ttyp ()->ti.c_lflag & FLUSHO || !buf))
+ goto out;
+
+ if (is_nonblocking ())
+ {
+ set_errno (EAGAIN);
+ rc = -1;
+ goto out;
+ }
+ pthread_testcancel ();
+ if (WaitForSingleObject (signal_arrived, 10) == WAIT_OBJECT_0
+ && !_my_tls.call_signal_handler ())
+ {
+ set_errno (EINTR);
+ rc = -1;
+ goto out;
+ }
}
- pthread_testcancel ();
- if (cancelable_wait (NULL, 10, cw_sig_eintr) == WAIT_SIGNALED
- && !_my_tls.call_signal_handler ())
+
+ if (!ReadFile (handle, outbuf, rlen, &n, NULL))
{
- set_errno (EINTR);
- rc = -1;
- goto out;
+ termios_printf ("ReadFile failed, %E");
+ goto err;
}
- flush_to_slave ();
- }
-
- if (!ReadFile (get_handle (), outbuf, rlen, &n, NULL))
- {
- termios_printf ("ReadFile failed, %E");
- goto err;
}
termios_printf ("bytes read %u", n);
@@ -649,7 +623,7 @@ fhandler_pty_slave::write (const void *ptr, size_t len)
while (len)
{
- n = MIN (OUT_BUFFER_SIZE, len);
+ n = min (OUT_BUFFER_SIZE, len);
char *buf = (char *)ptr;
ptr = (char *) ptr + n;
len -= n;
@@ -693,6 +667,7 @@ fhandler_pty_slave::read (void *ptr, size_t& len)
size_t readlen;
DWORD bytes_in_pipe;
char buf[INP_BUFFER_SIZE];
+ char peek_buf[INP_BUFFER_SIZE];
DWORD time_to_wait;
bg_check_types bg = bg_check (SIGTTIN);
@@ -738,14 +713,14 @@ fhandler_pty_slave::read (void *ptr, size_t& len)
goto out;
}
break;
- case WAIT_SIGNALED:
+ case WAIT_OBJECT_0 + 1:
if (totalread > 0)
goto out;
termios_printf ("wait catched signal");
set_sig_errno (EINTR);
totalread = -1;
goto out;
- case WAIT_CANCELED:
+ case WAIT_OBJECT_0 + 2:
process_state.pop ();
pthread::static_cancel_self ();
/*NOTREACHED*/
@@ -773,14 +748,14 @@ fhandler_pty_slave::read (void *ptr, size_t& len)
case WAIT_OBJECT_0:
case WAIT_ABANDONED_0:
break;
- case WAIT_SIGNALED:
+ case WAIT_OBJECT_0 + 1:
if (totalread > 0)
goto out;
- termios_printf ("wait for mutex caught signal");
+ termios_printf ("wait for mutex catched signal");
set_sig_errno (EINTR);
totalread = -1;
goto out;
- case WAIT_CANCELED:
+ case WAIT_OBJECT_0 + 2:
process_state.pop ();
pthread::static_cancel_self ();
/*NOTREACHED*/
@@ -809,8 +784,12 @@ fhandler_pty_slave::read (void *ptr, size_t& len)
}
goto out;
}
- if (!bytes_available (bytes_in_pipe))
- raise (SIGHUP);
+ if (!PeekNamedPipe (get_handle (), peek_buf, sizeof (peek_buf), &bytes_in_pipe, NULL, NULL))
+ {
+ termios_printf ("PeekNamedPipe failed, %E");
+ raise (SIGHUP);
+ bytes_in_pipe = 0;
+ }
/* On first peek determine no. of bytes to flush. */
if (!ptr && len == UINT_MAX)
@@ -823,7 +802,7 @@ fhandler_pty_slave::read (void *ptr, size_t& len)
return;
}
- readlen = MIN (bytes_in_pipe, MIN (len, sizeof (buf)));
+ readlen = min (bytes_in_pipe, min (len, sizeof (buf)));
if (ptr && vmin && readlen > (unsigned) vmin)
readlen = vmin;
@@ -835,6 +814,7 @@ fhandler_pty_slave::read (void *ptr, size_t& len)
if (!ReadFile (get_handle (), buf, readlen, &n, NULL))
{
termios_printf ("read failed, %E");
+ bytes_in_pipe = 0;
raise (SIGHUP);
bytes_in_pipe = 0;
ptr = NULL;
@@ -845,8 +825,12 @@ fhandler_pty_slave::read (void *ptr, size_t& len)
number of bytes in pipe, but for some reason this number doesn't
change after successful read. So we have to peek into the pipe
again to see if input is still available */
- if (!bytes_available (bytes_in_pipe))
- raise (SIGHUP);
+ if (!PeekNamedPipe (get_handle (), peek_buf, 1, &bytes_in_pipe, NULL, NULL))
+ {
+ termios_printf ("PeekNamedPipe failed, %E");
+ raise (SIGHUP);
+ bytes_in_pipe = 0;
+ }
if (n)
{
len -= n;
@@ -914,16 +898,7 @@ out:
int
fhandler_pty_slave::dup (fhandler_base *child, int flags)
{
- /* This code was added in Oct 2001 for some undisclosed reason.
- However, setting the controlling tty on a dup causes rxvt to
- hang when the parent does a dup since the controlling pgid changes.
- Specifically testing for -2 (ctty has been setsid'ed) works around
- this problem. However, it's difficult to see scenarios in which you
- have a dup'able fd, no controlling tty, and not having run setsid.
- So, we might want to consider getting rid of the set_ctty in tty-like dup
- methods entirely at some point */
- if (myself->ctty != -2)
- myself->set_ctty (this, flags);
+ myself->set_ctty (this, flags);
report_tty_counts (child, "duped slave", "");
return 0;
}
@@ -1014,15 +989,15 @@ fhandler_pty_slave::ioctl (unsigned int cmd, void *arg)
goto out;
case FIONREAD:
{
- DWORD n;
- if (!bytes_available (n))
+ int n;
+ if (!PeekNamedPipe (get_handle (), NULL, 0, NULL, (DWORD *) &n, NULL))
{
set_errno (EINVAL);
retval = -1;
}
else
{
- *(int *) arg = (int) n;
+ *(int *) arg = n;
retval = 0;
}
}
@@ -1280,6 +1255,11 @@ fhandler_pty_master::cleanup ()
int
fhandler_pty_master::close ()
{
+#if 0
+ while (accept_input () > 0)
+ continue;
+#endif
+
termios_printf ("closing from_master(%p)/to_master(%p) since we own them(%d)",
from_master, to_master, dwProcessId);
if (cygwin_finished_initializing)
@@ -1430,13 +1410,13 @@ fhandler_pty_master::ioctl (unsigned int cmd, void *arg)
return this->tcsetpgrp ((pid_t) arg);
case FIONREAD:
{
- DWORD n;
- if (!::bytes_available (n, to_master))
+ int n;
+ if (!PeekNamedPipe (to_master, NULL, 0, NULL, (DWORD *) &n, NULL))
{
set_errno (EINVAL);
return -1;
}
- *(int *) arg = (int) n;
+ *(int *) arg = n;
}
break;
default:
@@ -1482,9 +1462,7 @@ fhandler_pty_slave::fixup_after_exec ()
fixup_after_fork (NULL);
}
-#ifndef __MINGW64_VERSION_MAJOR
extern "C" BOOL WINAPI GetNamedPipeClientProcessId (HANDLE, PULONG);
-#endif
/* This thread function handles the master control pipe. It waits for a
client to connect. Then it checks if the client process has permissions
diff --git a/winsup/cygwin/fhandler_virtual.cc b/winsup/cygwin/fhandler_virtual.cc
index af73dde15..59bb6763c 100644
--- a/winsup/cygwin/fhandler_virtual.cc
+++ b/winsup/cygwin/fhandler_virtual.cc
@@ -77,6 +77,7 @@ fhandler_virtual::opendir (int fd)
if (fd >= 0)
{
dir->__d_fd = fd;
+ res = dir;
dir->__fh = this;
res = dir;
}
diff --git a/winsup/cygwin/fhandler_windows.cc b/winsup/cygwin/fhandler_windows.cc
index cb22416df..c89d98e16 100644
--- a/winsup/cygwin/fhandler_windows.cc
+++ b/winsup/cygwin/fhandler_windows.cc
@@ -96,47 +96,43 @@ fhandler_windows::read (void *buf, size_t& len)
return;
}
- HANDLE w4[3] = { get_handle (), };
- set_signal_arrived here (w4[1]);
+ HANDLE w4[3] = { get_handle (), signal_arrived, NULL };
DWORD cnt = 2;
if ((w4[cnt] = pthread::get_cancel_event ()) != NULL)
++cnt;
- for (;;)
+restart:
+ switch (MsgWaitForMultipleObjectsEx (cnt, w4,
+ is_nonblocking () ? 0 : INFINITE,
+ QS_ALLINPUT | QS_ALLPOSTMESSAGE,
+ MWMO_INPUTAVAILABLE))
{
- switch (MsgWaitForMultipleObjectsEx (cnt, w4,
- is_nonblocking () ? 0 : INFINITE,
- QS_ALLINPUT | QS_ALLPOSTMESSAGE,
- MWMO_INPUTAVAILABLE))
+ case WAIT_OBJECT_0:
+ if (!PeekMessageW (ptr, hWnd_, 0, 0, PM_REMOVE))
{
- case WAIT_OBJECT_0:
- if (!PeekMessageW (ptr, hWnd_, 0, 0, PM_REMOVE))
- {
- len = (size_t) -1;
- __seterrno ();
- }
- else if (ptr->message == WM_QUIT)
- len = 0;
- else
- len = sizeof (MSG);
- break;
- case WAIT_OBJECT_0 + 1:
- if (_my_tls.call_signal_handler ())
- continue;
- len = (size_t) -1;
- set_errno (EINTR);
- break;
- case WAIT_OBJECT_0 + 2:
- pthread::static_cancel_self ();
- break;
- case WAIT_TIMEOUT:
- len = (size_t) -1;
- set_errno (EAGAIN);
- break;
- default:
len = (size_t) -1;
__seterrno ();
- break;
}
+ else if (ptr->message == WM_QUIT)
+ len = 0;
+ else
+ len = sizeof (MSG);
+ break;
+ case WAIT_OBJECT_0 + 1:
+ if (_my_tls.call_signal_handler ())
+ goto restart;
+ len = (size_t) -1;
+ set_errno (EINTR);
+ break;
+ case WAIT_OBJECT_0 + 2:
+ pthread::static_cancel_self ();
+ break;
+ case WAIT_TIMEOUT:
+ len = (size_t) -1;
+ set_errno (EAGAIN);
+ break;
+ default:
+ len = (size_t) -1;
+ __seterrno ();
break;
}
}
diff --git a/winsup/cygwin/flock.cc b/winsup/cygwin/flock.cc
index 4d683cfd4..16233449e 100644
--- a/winsup/cygwin/flock.cc
+++ b/winsup/cygwin/flock.cc
@@ -124,14 +124,7 @@ static NO_COPY muto lockf_guard;
#define INODE_LIST_LOCK() (lockf_guard.init ("lockf_guard")->acquire ())
#define INODE_LIST_UNLOCK() (lockf_guard.release ())
-#define LOCK_DIR_NAME_FMT L"flock-%08x-%016X"
-#define LOCK_DIR_NAME_LEN 31 /* Length of the resulting name */
-#define LOCK_DIR_NAME_DEV_OFF 6 /* Offset to device number */
-#define LOCK_DIR_NAME_INO_OFF 15 /* Offset to inode number */
-
-/* Don't change format without also changing lockf_t::from_obj_name! */
-#define LOCK_OBJ_NAME_FMT L"%02x-%01x-%016X-%016X-%016X-%08x-%04x"
-#define LOCK_OBJ_NAME_LEN 69 /* Length of the resulting name */
+#define LOCK_OBJ_NAME_LEN 69
#define FLOCK_INODE_DIR_ACCESS (DIRECTORY_QUERY \
| DIRECTORY_TRAVERSE \
@@ -164,7 +157,7 @@ allow_others_to_sync ()
at this point because this gets called during initialization when the tls
is not really available. */
#define MAX_PROCESS_SD_SIZE 3072
- PISECURITY_DESCRIPTOR sd = (PISECURITY_DESCRIPTOR) alloca (MAX_PROCESS_SD_SIZE);
+ PSECURITY_DESCRIPTOR sd = (PSECURITY_DESCRIPTOR) alloca (MAX_PROCESS_SD_SIZE);
status = NtQuerySecurityObject (NtCurrentProcess (),
DACL_SECURITY_INFORMATION, sd,
MAX_PROCESS_SD_SIZE, &len);
@@ -176,22 +169,8 @@ allow_others_to_sync ()
/* Create a valid dacl pointer and set its size to be as big as
there's room in the temporary buffer. Note that the descriptor
is in self-relative format. */
- BOOLEAN present, defaulted;
- RtlGetDaclSecurityDescriptor (sd, &present, &dacl, &defaulted);
- if (!present) /* If so, dacl has undefined value. */
- {
- dacl = (PACL) (sd + 1);
- RtlCreateAcl (dacl, MAX_PROCESS_SD_SIZE - sizeof *sd, ACL_REVISION);
- }
- else if (dacl == NULL) /* Everyone has all access anyway */
- {
- done = true;
- return;
- }
- else
- {
- dacl->AclSize = MAX_PROCESS_SD_SIZE - ((PBYTE) dacl - (PBYTE) sd);
- }
+ dacl = (PACL) ((char *) sd + (uintptr_t) sd->Dacl);
+ dacl->AclSize = NT_MAX_PATH * sizeof (WCHAR) - ((char *) dacl - (char *) sd);
/* Allow everyone to SYNCHRONIZE with this process. */
status = RtlAddAccessAllowedAce (dacl, ACL_REVISION, SYNCHRONIZE,
well_known_world_sid);
@@ -246,11 +225,11 @@ struct lockfattr_t
class lockf_t
{
public:
- uint16_t lf_flags; /* Semantics: F_POSIX, F_FLOCK, F_WAIT */
- uint16_t lf_type; /* Lock type: F_RDLCK, F_WRLCK */
+ short lf_flags; /* Semantics: F_POSIX, F_FLOCK, F_WAIT */
+ short lf_type; /* Lock type: F_RDLCK, F_WRLCK */
_off64_t lf_start; /* Byte # of the start of the lock */
_off64_t lf_end; /* Byte # of the end of the lock (-1=EOF) */
- int64_t lf_id; /* Cygwin PID for POSIX locks, a unique id per
+ long long lf_id; /* Cygwin PID for POSIX locks, a unique id per
file table entry for BSD flock locks. */
DWORD lf_wid; /* Win PID of the resource holding the lock */
uint16_t lf_ver; /* Version number of the lock. If a released
@@ -276,9 +255,6 @@ class lockf_t
{}
~lockf_t ();
- bool from_obj_name (class inode_t *node, class lockf_t **head,
- const wchar_t *name);
-
/* Used to create all locks list in a given TLS buffer. */
void *operator new (size_t size, void *p)
{ return p; }
@@ -316,6 +292,10 @@ class inode_t
HANDLE i_mtx;
uint32_t i_cnt; /* # of threads referencing this instance. */
+ void use () { ++i_cnt; }
+ void unuse () { if (i_cnt > 0) --i_cnt; }
+ bool inuse () { return i_cnt > 0; }
+
public:
inode_t (__dev32_t dev, __ino64_t ino);
~inode_t ();
@@ -325,15 +305,11 @@ class inode_t
void operator delete (void *p)
{ cfree (p); }
- static inode_t *get (__dev32_t dev, __ino64_t ino,
- bool create_if_missing, bool lock);
+ static inode_t *get (__dev32_t dev, __ino64_t ino, bool create_if_missing);
void LOCK () { WaitForSingleObject (i_mtx, INFINITE); }
void UNLOCK () { ReleaseMutex (i_mtx); }
- void use () { ++i_cnt; }
- void unuse () { if (i_cnt > 0) --i_cnt; }
- bool inuse () { return i_cnt > 0; }
void notused () { i_cnt = 0; }
void unlock_and_remove_if_unused ();
@@ -414,7 +390,7 @@ inode_t::del_my_locks (long long id, HANDLE fhdl)
void
fhandler_base::del_my_locks (del_lock_called_from from)
{
- inode_t *node = inode_t::get (get_dev (), get_ino (), false, true);
+ inode_t *node = inode_t::get (get_dev (), get_ino (), false);
if (node)
{
/* When we're called from fixup_after_exec, the fhandler is a
@@ -482,7 +458,7 @@ fixup_lockf_after_exec ()
file. The file is specified by the device and inode_t number. If inode_t
doesn't exist, create it. */
inode_t *
-inode_t::get (__dev32_t dev, __ino64_t ino, bool create_if_missing, bool lock)
+inode_t::get (__dev32_t dev, __ino64_t ino, bool create_if_missing)
{
inode_t *node;
@@ -499,7 +475,7 @@ inode_t::get (__dev32_t dev, __ino64_t ino, bool create_if_missing, bool lock)
if (node)
node->use ();
INODE_LIST_UNLOCK ();
- if (node && lock)
+ if (node)
node->LOCK ();
return node;
}
@@ -516,7 +492,7 @@ inode_t::inode_t (__dev32_t dev, __ino64_t ino)
parent_dir = get_shared_parent_dir ();
/* Create a subdir which is named after the device and inode_t numbers
of the given file, in hex notation. */
- int len = __small_swprintf (name, LOCK_DIR_NAME_FMT, dev, ino);
+ int len = __small_swprintf (name, L"flock-%08x-%016X", dev, ino);
RtlInitCountedUnicodeString (&uname, name, len * sizeof (WCHAR));
InitializeObjectAttributes (&attr, &uname, OBJ_INHERIT | OBJ_OPENIF,
parent_dir, everyone_sd (FLOCK_INODE_DIR_ACCESS));
@@ -540,45 +516,6 @@ inode_t::inode_t (__dev32_t dev, __ino64_t ino)
#define MAX_LOCKF_CNT ((intptr_t)((NT_MAX_PATH * sizeof (WCHAR)) \
/ sizeof (lockf_t)))
-bool
-lockf_t::from_obj_name (inode_t *node, lockf_t **head, const wchar_t *name)
-{
- wchar_t *endptr;
-
- /* "%02x-%01x-%016X-%016X-%016X-%08x-%04x",
- lf_flags, lf_type, lf_start, lf_end, lf_id, lf_wid, lf_ver */
- lf_flags = wcstol (name, &endptr, 16);
- if ((lf_flags & ~(F_FLOCK | F_POSIX)) != 0
- || ((lf_flags & (F_FLOCK | F_POSIX)) == (F_FLOCK | F_POSIX)))
- return false;
- lf_type = wcstol (endptr + 1, &endptr, 16);
- if ((lf_type != F_RDLCK && lf_type != F_WRLCK) || !endptr || *endptr != L'-')
- return false;
- lf_start = (_off64_t) wcstoull (endptr + 1, &endptr, 16);
- if (lf_start < 0 || !endptr || *endptr != L'-')
- return false;
- lf_end = (_off64_t) wcstoull (endptr + 1, &endptr, 16);
- if (lf_end < -1LL
- || (lf_end > 0 && lf_end < lf_start)
- || !endptr || *endptr != L'-')
- return false;
- lf_id = wcstoll (endptr + 1, &endptr, 16);
- if (!endptr || *endptr != L'-'
- || ((lf_flags & F_POSIX) && (lf_id < 1 || lf_id > ULONG_MAX)))
- return false;
- lf_wid = wcstoul (endptr + 1, &endptr, 16);
- if (!endptr || *endptr != L'-')
- return false;
- lf_ver = wcstoul (endptr + 1, &endptr, 16);
- if (endptr && *endptr != L'\0')
- return false;
- lf_head = head;
- lf_inode = node;
- lf_next = NULL;
- lf_obj = NULL;
- return true;
-}
-
lockf_t *
inode_t::get_all_locks_list ()
{
@@ -589,7 +526,7 @@ inode_t::get_all_locks_list ()
} f;
ULONG context;
NTSTATUS status;
- lockf_t newlock, *lock = i_all_lf;
+ lockf_t *lock = i_all_lf;
for (BOOLEAN restart = TRUE;
NT_SUCCESS (status = NtQueryDirectoryObject (i_dir, &f, sizeof f, TRUE,
@@ -598,8 +535,32 @@ inode_t::get_all_locks_list ()
{
if (f.dbi.ObjectName.Length != LOCK_OBJ_NAME_LEN * sizeof (WCHAR))
continue;
- f.dbi.ObjectName.Buffer[LOCK_OBJ_NAME_LEN] = L'\0';
- if (!newlock.from_obj_name (this, &i_all_lf, f.dbi.ObjectName.Buffer))
+ wchar_t *wc = f.dbi.ObjectName.Buffer, *endptr;
+ /* "%02x-%01x-%016X-%016X-%016X-%08x-%04x",
+ lf_flags, lf_type, lf_start, lf_end, lf_id, lf_wid, lf_ver */
+ wc[LOCK_OBJ_NAME_LEN] = L'\0';
+ short flags = wcstol (wc, &endptr, 16);
+ if ((flags & ~(F_FLOCK | F_POSIX)) != 0
+ || ((flags & (F_FLOCK | F_POSIX)) == (F_FLOCK | F_POSIX)))
+ continue;
+ short type = wcstol (endptr + 1, &endptr, 16);
+ if ((type != F_RDLCK && type != F_WRLCK) || !endptr || *endptr != L'-')
+ continue;
+ _off64_t start = (_off64_t) wcstoull (endptr + 1, &endptr, 16);
+ if (start < 0 || !endptr || *endptr != L'-')
+ continue;
+ _off64_t end = (_off64_t) wcstoull (endptr + 1, &endptr, 16);
+ if (end < -1LL || (end > 0 && end < start) || !endptr || *endptr != L'-')
+ continue;
+ long long id = wcstoll (endptr + 1, &endptr, 16);
+ if (!endptr || *endptr != L'-'
+ || ((flags & F_POSIX) && (id < 1 || id > ULONG_MAX)))
+ continue;
+ DWORD wid = wcstoul (endptr + 1, &endptr, 16);
+ if (!endptr || *endptr != L'-')
+ continue;
+ uint16_t ver = wcstoul (endptr + 1, &endptr, 16);
+ if (endptr && *endptr != L'\0')
continue;
if (lock - i_all_lf >= MAX_LOCKF_CNT)
{
@@ -609,7 +570,8 @@ inode_t::get_all_locks_list ()
}
if (lock > i_all_lf)
lock[-1].lf_next = lock;
- new (lock++) lockf_t (newlock);
+ new (lock++) lockf_t (this, &i_all_lf,
+ flags, type, start, end, id, wid, ver);
}
/* If no lock has been found, return NULL. */
if (lock == i_all_lf)
@@ -622,7 +584,7 @@ inode_t::get_all_locks_list ()
POBJECT_ATTRIBUTES
lockf_t::create_lock_obj_attr (lockfattr_t *attr, ULONG flags)
{
- __small_swprintf (attr->name, LOCK_OBJ_NAME_FMT,
+ __small_swprintf (attr->name, L"%02x-%01x-%016X-%016X-%016X-%08x-%04x",
lf_flags & (F_POSIX | F_FLOCK), lf_type, lf_start, lf_end,
lf_id, lf_wid, lf_ver);
RtlInitCountedUnicodeString (&attr->uname, attr->name,
@@ -632,111 +594,6 @@ lockf_t::create_lock_obj_attr (lockfattr_t *attr, ULONG flags)
return &attr->attr;
}
-DWORD WINAPI
-create_lock_in_parent (PVOID param)
-{
- HANDLE lf_obj;
- ULONG size;
- OBJECT_NAME_INFORMATION *ntfn;
- NTSTATUS status;
- wchar_t *lockname, *inodename, *endptr;
- __dev32_t dev;
- __ino64_t ino;
- inode_t *node;
- lockf_t newlock, *lock;
- int cnt;
-
- /* param is the handle to the lock object, created by caller. */
- lf_obj = (HANDLE) param;
- /* Fetch object path from handle. Typically the length of the path
- is 146 characters, starting with
- "\BaseNamedObject\cygwin-1S5-<16-hex-digits>\..." */
- size = sizeof (OBJECT_NAME_INFORMATION) + 256 * sizeof (WCHAR);
- ntfn = (OBJECT_NAME_INFORMATION *) alloca (size);
- memset (ntfn, 0, size);
- status = NtQueryObject (lf_obj, ObjectNameInformation, ntfn, size, &size);
- if (!NT_SUCCESS (status))
- goto err;
- ntfn->Name.Buffer[ntfn->Name.Length / sizeof (WCHAR)] = L'\0';
- /* Sanity check so that we don't peek into unchartered territory. */
- if (ntfn->Name.Length < LOCK_OBJ_NAME_LEN + LOCK_DIR_NAME_LEN + 1)
- goto err;
- /* The names have fixed size, so we know where the substrings start. */
- lockname = ntfn->Name.Buffer + ntfn->Name.Length / sizeof (WCHAR)
- - LOCK_OBJ_NAME_LEN;
- inodename = lockname - LOCK_DIR_NAME_LEN - 1;
- dev = wcstoul (inodename + LOCK_DIR_NAME_DEV_OFF, &endptr, 16);
- if (*endptr != L'-')
- goto err;
- ino = wcstoull (inodename + LOCK_DIR_NAME_INO_OFF, &endptr, 16);
- if (*endptr != L'\\')
- goto err;
- if (!newlock.from_obj_name (NULL, NULL, lockname))
- goto err;
- /* Check if we have an open file handle with the same unique id. */
- {
- cnt = 0;
- cygheap_fdenum cfd (true);
- while (cfd.next () >= 0)
- if (cfd->get_unique_id () == newlock.lf_id && ++cnt > 0)
- break;
- }
- /* If not, close handle and return. */
- if (!cnt)
- {
- NtClose (lf_obj);
- return 0;
- }
- /* otherwise generate inode from directory name... */
- node = inode_t::get (dev, ino, true, false);
- /* ...and generate lock from object name. */
- lock = new lockf_t (newlock);
- lock->lf_inode = node;
- lock->lf_head = &node->i_lockf;
- lock->lf_next = node->i_lockf;
- lock->lf_obj = lf_obj;
- node->i_lockf = lock;
- node->unuse ();
- return 0;
-
-err:
- system_printf ("Adding <%S> lock failed", &ntfn->Name);
- NtClose (lf_obj);
- return 1;
-}
-
-DWORD WINAPI
-delete_lock_in_parent (PVOID param)
-{
- inode_t *node;
- lockf_t *lock, **prev;
-
- /* Scan list of all inodes, and reap stale BSD lock if lf_id matches.
- Remove inode if empty. */
- INODE_LIST_LOCK ();
- LIST_FOREACH (node, &cygheap->inode_list, i_next)
- if (!node->inuse ())
- {
- for (prev = &node->i_lockf, lock = *prev; lock; lock = *prev)
- {
- if ((lock->lf_flags & F_FLOCK) && IsEventSignalled (lock->lf_obj))
- {
- *prev = lock->lf_next;
- delete lock;
- }
- else
- prev = &lock->lf_next;
- }
- if (node->i_lockf == NULL)
- {
- LIST_REMOVE (node, i_next);
- delete node;
- }
- }
- INODE_LIST_UNLOCK ();
- return 0;
-}
-
/* Create the lock event object in the file's subdir in the NT global
namespace. */
void
@@ -772,54 +629,6 @@ lockf_t::create_lock_obj ()
}
}
while (!NT_SUCCESS (status));
- /* For BSD locks, notify the parent process. */
- if (lf_flags & F_FLOCK)
- {
- HANDLE parent_proc, parent_thread, parent_lf_obj;
-
- pinfo p (myself->ppid);
- if (!p) /* No access or not a Cygwin parent. */
- return;
-
- parent_proc = OpenProcess (PROCESS_DUP_HANDLE
- | PROCESS_CREATE_THREAD
- | PROCESS_QUERY_INFORMATION
- | PROCESS_VM_OPERATION
- | PROCESS_VM_WRITE
- | PROCESS_VM_READ,
- FALSE, p->dwProcessId);
- if (!parent_proc)
- {
- debug_printf ("OpenProcess (%u): %E", p->dwProcessId);
- return;
- }
- if (!DuplicateHandle (GetCurrentProcess (), lf_obj, parent_proc,
- &parent_lf_obj, TRUE, 0, DUPLICATE_SAME_ACCESS))
- debug_printf ("DuplicateHandle (lf_obj): %E");
- else
- {
- parent_thread = CreateRemoteThread (parent_proc, NULL, 256 * 1024,
- create_lock_in_parent,
- parent_lf_obj,
- STACK_SIZE_PARAM_IS_A_RESERVATION,
- NULL);
- if (!parent_thread)
- {
- debug_printf ("CreateRemoteThread: %E");
- /* If thread didn't get started, close object handle in parent,
- otherwise suffer handle leaks. */
- DuplicateHandle (parent_proc, parent_lf_obj, parent_proc,
- NULL, 0, FALSE, DUPLICATE_CLOSE_SOURCE);
- }
- else
- {
- /* Must wait to avoid race conditions. */
- WaitForSingleObject (parent_thread, INFINITE);
- CloseHandle (parent_thread);
- }
- }
- CloseHandle (parent_proc);
- }
}
/* Open a lock event object for SYNCHRONIZE access (to wait for it). */
@@ -856,36 +665,7 @@ lockf_t::del_lock_obj (HANDLE fhdl, bool signal)
handle/descriptor to the same FILE_OBJECT/file table entry. */
if ((lf_flags & F_POSIX) || signal
|| (fhdl && get_obj_handle_count (fhdl) <= 1))
- {
- NtSetEvent (lf_obj, NULL);
- /* For BSD locks, notify the parent process. */
- if (lf_flags & F_FLOCK)
- {
- HANDLE parent_proc, parent_thread;
-
- pinfo p (myself->ppid);
- if (p && (parent_proc = OpenProcess (PROCESS_CREATE_THREAD
- | PROCESS_QUERY_INFORMATION
- | PROCESS_VM_OPERATION
- | PROCESS_VM_WRITE
- | PROCESS_VM_READ,
- FALSE, p->dwProcessId)))
- {
- parent_thread = CreateRemoteThread (parent_proc, NULL,
- 256 * 1024, delete_lock_in_parent,
- NULL,
- STACK_SIZE_PARAM_IS_A_RESERVATION,
- NULL);
- if (parent_thread)
- {
- /* Must wait to avoid race conditions. */
- WaitForSingleObject (parent_thread, INFINITE);
- CloseHandle (parent_thread);
- }
- CloseHandle (parent_proc);
- }
- }
- }
+ NtSetEvent (lf_obj, NULL);
close_lock_obj ();
}
}
@@ -1035,7 +815,7 @@ fhandler_disk_file::lock (int a_op, struct __flock64 *fl)
restart: /* Entry point after a restartable signal came in. */
- inode_t *node = inode_t::get (get_dev (), get_ino (), true, true);
+ inode_t *node = inode_t::get (get_dev (), get_ino (), true);
if (!node)
{
set_errno (ENOLCK);
@@ -1247,7 +1027,7 @@ lf_setlock (lockf_t *lock, inode_t *node, lockf_t **clean, HANDLE fhdl)
timeout = 100L;
DWORD WAIT_SIGNAL_ARRIVED = WAIT_OBJECT_0 + wait_count;
- set_signal_arrived here (w4[wait_count++]);
+ w4[wait_count++] = signal_arrived;
DWORD WAIT_THREAD_CANCELED = WAIT_TIMEOUT + 1;
HANDLE cancel_event = pthread::get_cancel_event ();
diff --git a/winsup/cygwin/fork.cc b/winsup/cygwin/fork.cc
index 22076fc1d..56ba0fc0f 100644
--- a/winsup/cygwin/fork.cc
+++ b/winsup/cygwin/fork.cc
@@ -47,6 +47,83 @@ class frok
friend int fork ();
};
+class lock_signals
+{
+ bool worked;
+public:
+ lock_signals ()
+ {
+ worked = sig_send (NULL, __SIGHOLD) == 0;
+ }
+ operator int () const
+ {
+ return worked;
+ }
+ void dont_bother ()
+ {
+ worked = false;
+ }
+ ~lock_signals ()
+ {
+ if (worked)
+ sig_send (NULL, __SIGNOHOLD);
+ }
+};
+
+class lock_pthread
+{
+ bool bother;
+public:
+ lock_pthread (): bother (1)
+ {
+ pthread::atforkprepare ();
+ }
+ void dont_bother ()
+ {
+ bother = false;
+ }
+ ~lock_pthread ()
+ {
+ if (bother)
+ pthread::atforkparent ();
+ }
+};
+
+class hold_everything
+{
+public: /* DELETEME*/
+ bool& ischild;
+ /* Note the order of the locks below. It is important,
+ to avoid races, that the lock order be preserved.
+
+ pthread is first because it serves as a master lock
+ against other forks being attempted while this one is active.
+
+ signals is next to stop signal processing for the duration
+ of the fork.
+
+ process is last. If it is put before signals, then a deadlock
+ could be introduced if the process attempts to exit due to a signal. */
+ lock_pthread pthread;
+ lock_signals signals;
+ lock_process process;
+
+public:
+ hold_everything (bool& x): ischild (x) {}
+ operator int () const {return signals;}
+
+ ~hold_everything()
+ {
+ if (ischild)
+ {
+ pthread.dont_bother ();
+ process.dont_bother ();
+ signals.dont_bother ();
+ }
+ }
+
+};
+
static void
resume_child (HANDLE forker_finished)
{
@@ -109,25 +186,6 @@ frok::error (const char *fmt, ...)
return true;
}
-/* Set up a pipe which will track the life of a "pid" through
- even after we've exec'ed. */
-void
-child_info::prefork (bool detached)
-{
- if (!detached)
- {
- if (!CreatePipe (&rd_proc_pipe, &wr_proc_pipe, &sec_none_nih, 16))
- api_fatal ("prefork: couldn't create pipe process tracker%E");
-
- if (!SetHandleInformation (wr_proc_pipe, HANDLE_FLAG_INHERIT,
- HANDLE_FLAG_INHERIT))
- api_fatal ("prefork: couldn't set process pipe(%p) inherit state, %E",
- wr_proc_pipe);
- ProtectHandle1 (rd_proc_pipe, rd_proc_pipe);
- ProtectHandle1 (wr_proc_pipe, wr_proc_pipe);
- }
-}
-
int __stdcall
frok::child (volatile char * volatile here)
{
@@ -213,10 +271,6 @@ frok::child (volatile char * volatile here)
ld_preload ();
fixup_hooks_after_fork ();
_my_tls.fixup_after_fork ();
- /* Clear this or the destructor will close them. In the case of
- rd_proc_pipe that would be an invalid handle. In the case of
- wr_proc_pipe it would be == my_wr_proc_pipe. Both would be bad. */
- ch.rd_proc_pipe = ch.wr_proc_pipe = NULL;
cygwin_finished_initializing = true;
return 0;
}
@@ -349,19 +403,18 @@ frok::parent (volatile char * volatile stack_here)
cygheap->user.deimpersonate ();
fix_impersonation = true;
ch.refresh_cygheap ();
- ch.prefork (); /* set up process tracking pipes. */
while (1)
{
hchild = NULL;
- rc = CreateProcessW (myself->progname, /* image to run */
- myself->progname, /* what we send in arg0 */
+ rc = CreateProcessW (myself->progname, /* image to run */
+ myself->progname, /* what we send in arg0 */
&sec_none_nih,
&sec_none_nih,
- TRUE, /* inherit handles from parent */
+ TRUE, /* inherit handles from parent */
c_flags,
- NULL, /* environment filled in later */
- 0, /* use current drive/directory */
+ NULL, /* environment filled in later */
+ 0, /* use current drive/directory */
&si,
&pi);
@@ -393,8 +446,8 @@ frok::parent (volatile char * volatile stack_here)
/* Wait for subproc to initialize itself. */
if (!ch.sync (pi.dwProcessId, hchild, FORK_WAIT_TIMEOUT))
{
- if (!error ("forked process %u died unexpectedly, retry %d, exit code %d",
- pi.dwProcessId, ch.retry, ch.exit_code))
+ if (!error ("forked process died unexpectedly, retry %d, exit code %d",
+ ch.retry, ch.exit_code))
continue;
this_errno = EAGAIN;
goto cleanup;
@@ -426,7 +479,6 @@ frok::parent (volatile char * volatile stack_here)
/* Fill in fields in the child's process table entry. */
child->dwProcessId = pi.dwProcessId;
child.hProcess = hchild;
- ch.postfork (child);
/* Hopefully, this will succeed. The alternative to doing things this
way is to reserve space prior to calling CreateProcess and then fill
diff --git a/winsup/cygwin/gendef b/winsup/cygwin/gendef
index 5cc06f76c..a76711279 100755
--- a/winsup/cygwin/gendef
+++ b/winsup/cygwin/gendef
@@ -162,23 +162,62 @@ __sigbe: # return here after cygwin syscall
.global _sigdelayed
_sigdelayed:
- pushl %ebp
- movl %esp,%ebp
+ pushl %ebp
+ movl %esp,%ebp
pushf
- pushl %esi
- pushl %edi
- pushl %edx
- pushl %ecx
- pushl %ebx
- pushl %eax
- movl %fs:4,%ebx # get tls
- pushl $tls::saved_errno(%ebx) # saved errno
-
- movl \$$tls::start_offset,%eax # point to beginning
- addl %ebx,%eax # of tls block
- call __ZN7_cygtls19call_signal_handlerEv # call handler
+ pushl %esi
+ pushl %edi
+ pushl %edx
+ pushl %ecx
+ pushl %ebx
+ pushl %eax
+ movl %fs:4,%ebx
+1: movl \$1,%eax
+ xchgl %eax,$tls::stacklock(%ebx)
+ movl %eax,$tls::spinning(%ebx) # flag if we are waiting for lock
+ # If %eax is 1 then someone else has
+ # the lock but we want to flag that
+ # we're waiting for it. If %eax is 0
+ # then we're not spinning and 0 will
+ # reflect that.
+ testl %eax,%eax
+ jz 2f
+ call _yield
+ jmp 1b
+2: incl $tls::incyg(%ebx)
+ movl $tls::sig(%ebx),%eax
+ testl %eax,%eax
+ jz leave # call_signal_handler may have beat us
+ # to it
+ pushl $tls::saved_errno(%ebx) # saved errno
+ call _set_process_mask_delta
+ pushl %eax
+
+ # fill out handler arguments
+ xorl %eax,%eax # ucontext_t (currently not set)
+ pushl %eax
+ leal $tls::infodata(%ebx),%eax
+ pushl %eax # siginfo
+ pushl $tls::sig(%ebx) # signal number
+
+ pushl \$_sigreturn # where to return
+ pushl $tls::func(%ebx) # user-supplied signal func
+ cmpl \$0,$tls::threadkill(%ebx)#pthread_kill signal?
+ jnz 4f # yes. callee clears signal number
+ movl \$0,$tls::sig(%ebx) # zero the signal number as a
+ # flag to the signal handler thread
+ # that it is ok to set up sigsave
+4: decl $tls::incyg(%ebx)
+ decl $tls::stacklock(%ebx)
+ ret # return via signal handler
+
+ .global _sigreturn
+_sigreturn:
+ movl %fs:4,%ebx
+ incl $tls::incyg(%ebx)
+ addl \$12,%esp # remove arguments
+ call _set_process_mask\@4
- movl %fs:4,%ebx # reget tls
1: movl \$1,%eax # potential lock value
xchgl %eax,$tls::stacklock(%ebx) # see if we can grab it
movl %eax,$tls::spinning(%ebx) # flag if we are waiting for lock
@@ -255,7 +294,7 @@ stabilize_sig_stack:
cmpl \$0,$tls::sig(%ebx)
jz 3f
decl $tls::stacklock(%ebx) # unlock
- movl \$$tls::start_offset,%eax # point to beginning
+ movl \$-$tls::sizeof__cygtls,%eax # point to beginning
addl %ebx,%eax # of tls block
call __ZN7_cygtls19call_signal_handlerEv
jmp 1b
diff --git a/winsup/cygwin/gendevices b/winsup/cygwin/gendevices
index 3e514bcab..df21796d0 100755
--- a/winsup/cygwin/gendevices
+++ b/winsup/cygwin/gendevices
@@ -1,5 +1,5 @@
#!/usr/bin/perl
-# Copyright 2003, 2004, 2005, 2006, 2012 Red Hat, Inc.
+# Copyright 2003, 2004, 2005 Red Hat, Inc.
#
# This file is part of Cygwin.
#
@@ -41,7 +41,6 @@ while (<INPUT>) {
my $x = $f->[0];
my $rest = $f->[1];
my ($dev, $devrest) = ($x =~ /([^%]+)(%.*)?$/o);
- $rest .= ', ' . (($dev =~ m%/dev/%o) ? 'true' : 'false');
push(@lines, generate($dev, $devrest, $rest, []));
}
@patterns = ();
@@ -55,7 +54,7 @@ chop $storage[$#storage];
chop $storage[$#storage];
$storage[$#storage] .= "\n";
splice(@lines, $storage_ix, 1,
- "const _RDATA device dev_storage[] =\n", "{\n",
+ "static const device dev_storage[] =\n", "{\n",
@storage, "};\n\n",
sort {$a cmp $b} values %pointers);
open(SHILKA, '>', $shilka);
@@ -71,7 +70,7 @@ if ($? == -1) {
}
chdir $cwd;
unlink $shilka;
-open(C, '<', $c) or die "$0: couldn't open $c - $!\n";
+open(C, $c) or die "$0: couldn't open $c - $!\n";
@lines = <C>;
close C;
unlink $c;
@@ -117,7 +116,6 @@ sub generate {
} else {
my $fh = $dev;
$fh =~ s%/%_%og;
- $fh =~ s%^:%__%o;
my $shilka_id = $fh;
my $storage_str = $fh . '_storage';
$fh =~ s/^_dev_/FH_/o;
@@ -128,9 +126,9 @@ sub generate {
@lines = ('"' . $dev . '"' . " = $shilka_id {return $storage_loc;}\n");
$rest = "$fh, $rest" if $rest =~ /^"/o;
$rest = fixup($rest, $vars);
- if ($rest =~ /^(.*), =(\S*_dev)\b\s*(.*)$/) {
+ if ($rest =~ /^(.*), ([a-z_]*_dev)/) {
$pointers{$2} ||= "const device *$2 = $storage_loc;\n";
- $rest = $1 . $3;
+ $rest = $1;
}
push(@storage, " {\"$dev\", " . $rest . "},\n");
}
@@ -157,7 +155,5 @@ sub devsort {
my $b0 = $b->[0];
$a0 =~ s/(\D)(\d+)/"$1" . sprintf "%05d", $2/e;
$b0 =~ s/(\D)(\d+)/"$1" . sprintf "%05d", $2/e;
- $a0 =~ s%^//%:%o;
- $b0 =~ s%^//%:%o;
return $a0 cmp $b0;
}
diff --git a/winsup/cygwin/gentls_offsets b/winsup/cygwin/gentls_offsets
index de9f1b993..2c96487d4 100755
--- a/winsup/cygwin/gentls_offsets
+++ b/winsup/cygwin/gentls_offsets
@@ -14,10 +14,10 @@ my $struct = '';
my @fields = ();
my $def = '';
$tls = join('', <TLS>);
-$tls =~ s/\A.*\n#pragma once\n//os;
$tls =~ s/\n[^\n]*gentls_offsets[^\n]*\n(.+)\Z/$1/os;
my $pre = $`;
substr($tls, 0, length($pre)) = '';
+$pre =~ s/\n#ifndef _[^\n]+\n/\n/os;
$pre .= "\n//*/";
$tls =~ s%/\*\s*gentls_offsets.*?/\*\s*gentls_offsets\s*\*/%%ogs;
foreach ($tls =~ /^.*\n/mg) {
@@ -60,7 +60,7 @@ main(int argc, char **argv)
# define poffset(f) (((char *) &(foo->f)) - ((char *) foo))
EOF
print TMP 'puts ("//;# autogenerated: Do not edit.\n");', "\n\n";
- print TMP "printf (\"//; \$tls::start_offset = -%d;\\n\", CYGTLS_PADSIZE);\n";
+ print TMP "printf (\"//; \$tls::sizeof_$struct = %d;\\n\", sizeof($struct\));\n";
for my $f (@fields) {
print TMP ' printf ("//; $tls::', $f, ' = %d;\n", ', "offset($f));\n";
print TMP ' printf ("//; $tls::p', $f, ' = %d;\n", ', "poffset($f));\n";
diff --git a/winsup/cygwin/glob.cc b/winsup/cygwin/glob.cc
index 4cc442eab..b732f14c5 100644
--- a/winsup/cygwin/glob.cc
+++ b/winsup/cygwin/glob.cc
@@ -111,9 +111,6 @@ __FBSDID("$FreeBSD: src/lib/libc/gen/glob.c,v 1.28 2010/05/12 17:44:00 gordon Ex
#define Cchar(c) (ignore_case_with_glob ? towlower (c) : (c))
#endif
-#undef MAXPATHLEN
-#define MAXPATHLEN 8192
-
#define DOLLAR '$'
#define DOT '.'
#define EOS '\0'
diff --git a/winsup/cygwin/globals.cc b/winsup/cygwin/globals.cc
index 05a3c390b..07bfe2feb 100644
--- a/winsup/cygwin/globals.cc
+++ b/winsup/cygwin/globals.cc
@@ -1,7 +1,7 @@
/* globals.cc - Define global variables here.
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -9,7 +9,7 @@ This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
-#define NO_GLOBALS_H
+#define _GLOBALS_H 1
#include "winsup.h"
#include "cygtls.h"
#include "perprocess.h"
@@ -21,7 +21,6 @@ details. */
HANDLE NO_COPY hMainThread;
HANDLE NO_COPY hProcToken;
HANDLE NO_COPY hProcImpToken;
-HANDLE my_wr_proc_pipe;
HMODULE NO_COPY cygwin_hmodule;
int NO_COPY sigExeced;
WCHAR windows_system_directory[MAX_PATH];
@@ -32,20 +31,20 @@ UINT system_wow64_directory_length;
/* program exit the program */
enum exit_states
-{
- ES_NOT_EXITING = 0,
- ES_EXIT_STARTING,
- ES_PROCESS_LOCKED,
- ES_EVENTS_TERMINATE,
- ES_SIGNAL,
- ES_CLOSEALL,
- ES_THREADTERM,
- ES_HUP_PGRP,
- ES_HUP_SID,
- ES_EXEC_EXIT,
- ES_TTY_TERMINATE,
- ES_FINAL
-};
+ {
+ ES_NOT_EXITING = 0,
+ ES_EXIT_STARTING,
+ ES_PROCESS_LOCKED,
+ ES_EVENTS_TERMINATE,
+ ES_SIGNAL,
+ ES_CLOSEALL,
+ ES_THREADTERM,
+ ES_HUP_PGRP,
+ ES_HUP_SID,
+ ES_EXEC_EXIT,
+ ES_TTY_TERMINATE,
+ ES_FINAL
+ };
exit_states NO_COPY exit_state;
@@ -54,12 +53,6 @@ int NO_COPY dynamically_loaded;
/* Some CYGWIN environment variable variables. */
bool allow_glob = true;
-bool ignore_case_with_glob = false;
-bool dos_file_warning = true;
-bool allow_winsymlinks = false;
-bool reset_com = false;
-bool pipe_byte = false;
-bool detect_bloda = false;
bool NO_COPY in_forkee;
@@ -97,7 +90,6 @@ UNICODE_STRING _RDATA ro_u_com = _ROU (L".com");
UNICODE_STRING _RDATA ro_u_scr = _ROU (L".scr");
UNICODE_STRING _RDATA ro_u_sys = _ROU (L".sys");
UNICODE_STRING _RDATA ro_u_proc = _ROU (L"proc");
-UNICODE_STRING _RDATA ro_u_dev = _ROU (L"dev");
UNICODE_STRING _RDATA ro_u_pmem = _ROU (L"\\Device\\PhysicalMemory");
UNICODE_STRING _RDATA ro_u_natp = _ROU (L"\\??\\");
UNICODE_STRING _RDATA ro_u_uncp = _ROU (L"\\??\\UNC\\");
@@ -107,7 +99,6 @@ UNICODE_STRING _RDATA ro_u_fat = _ROU (L"FAT");
UNICODE_STRING _RDATA ro_u_mvfs = _ROU (L"MVFS");
UNICODE_STRING _RDATA ro_u_nfs = _ROU (L"NFS");
UNICODE_STRING _RDATA ro_u_ntfs = _ROU (L"NTFS");
-UNICODE_STRING _RDATA ro_u_refs = _ROU (L"ReFS");
UNICODE_STRING _RDATA ro_u_sunwnfs = _ROU (L"SUNWNFS");
UNICODE_STRING _RDATA ro_u_udf = _ROU (L"UDF");
UNICODE_STRING _RDATA ro_u_unixfs = _ROU (L"UNIXFS");
@@ -166,6 +157,7 @@ extern "C"
/* threadinterface */ &_mtinterf,
/* impure_ptr */ _GLOBAL_REENT,
};
+ bool ignore_case_with_glob;
int _check_for_executable = true;
};
diff --git a/winsup/cygwin/heap.cc b/winsup/cygwin/heap.cc
index 433628e06..d58a4cfcc 100644
--- a/winsup/cygwin/heap.cc
+++ b/winsup/cygwin/heap.cc
@@ -192,15 +192,8 @@ heap_init ()
api_fatal ("MEM_COMMIT failed, %E");
}
- /* CV 2012-05-21: Moved printing heap size here from strace::activate.
- The value printed in strace.activate was always wrong, because at the
- time it's called, cygheap points to cygheap_dummy. Above all, the heap
- size has not been evaluated yet, except in a forked child. Since
- heap_init is called early, the heap size is printed pretty much at the
- start of the strace output, so there isn't anything lost. */
- debug_printf ("heap base %p, heap top %p, heap size %p (%u)",
- cygheap->user_heap.base, cygheap->user_heap.top,
- cygheap->user_heap.chunk, cygheap->user_heap.chunk);
+ debug_printf ("heap base %p, heap top %p", cygheap->user_heap.base,
+ cygheap->user_heap.top);
page_const--;
// malloc_init ();
}
diff --git a/winsup/cygwin/hires.h b/winsup/cygwin/hires.h
index c9a4def38..7d84a52cd 100644
--- a/winsup/cygwin/hires.h
+++ b/winsup/cygwin/hires.h
@@ -1,6 +1,6 @@
/* hires.h: Definitions for hires clock calculations
- Copyright 2002, 2003, 2004, 2005, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ Copyright 2002, 2003, 2004, 2005, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -62,6 +62,7 @@ class hires_ms : public hires_base
LONGLONG nsecs ();
LONGLONG usecs () {return nsecs () / 10LL;}
LONGLONG msecs () {return nsecs () / 10000LL;}
+ UINT dmsecs () { return timeGetTime_ns () / 10000LL; }
UINT resolution ();
LONGLONG uptime () {return (nsecs () - initime_ns) / 10000LL;}
};
diff --git a/winsup/cygwin/hookapi.cc b/winsup/cygwin/hookapi.cc
index 83e9f498a..8137b85d2 100644
--- a/winsup/cygwin/hookapi.cc
+++ b/winsup/cygwin/hookapi.cc
@@ -1,6 +1,6 @@
/* hookapi.cc
- Copyright 2005, 2006, 2007, 2008, 2011, 2012 Red Hat, Inc.
+ Copyright 2005, 2006, 2007, 2008, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -49,18 +49,14 @@ PEHeaderFromHModule (HMODULE hModule)
}
static long
-rvadelta (PIMAGE_NT_HEADERS pnt, DWORD import_rva, DWORD &max_size)
+rvadelta (PIMAGE_NT_HEADERS pnt, DWORD import_rva)
{
PIMAGE_SECTION_HEADER section = (PIMAGE_SECTION_HEADER) (pnt + 1);
for (int i = 0; i < pnt->FileHeader.NumberOfSections; i++)
if (section[i].VirtualAddress <= import_rva
&& (section[i].VirtualAddress + section[i].Misc.VirtualSize) > import_rva)
// if (ascii_strncasematch ((char *) section[i].Name, ".idata", IMAGE_SIZEOF_SHORT_NAME))
- {
- max_size = section[i].SizeOfRawData
- - (import_rva - section[i].VirtualAddress);
- return section[i].VirtualAddress - section[i].PointerToRawData;
- }
+ return section[i].VirtualAddress - section[i].PointerToRawData;
return -1;
}
@@ -165,8 +161,7 @@ makename (const char *name, char *&buf, int& i, int inc)
/* Find first missing dll in a given executable.
FIXME: This is not foolproof since it doesn't look for dlls in the
same directory as the given executable, like Windows. Instead it
- searches for dlls in the context of the current executable.
- It also only finds direct dependencies, not indirect ones. */
+ searches for dlls in the context of the current executable. */
const char *
find_first_notloaded_dll (path_conv& pc)
{
@@ -177,7 +172,6 @@ find_first_notloaded_dll (path_conv& pc)
IO_STATUS_BLOCK io;
HANDLE h;
NTSTATUS status;
- LARGE_INTEGER size;
status = NtOpenFile (&h, SYNCHRONIZE | GENERIC_READ,
pc.get_object_attr (attr, sec_none_nih),
@@ -187,27 +181,13 @@ find_first_notloaded_dll (path_conv& pc)
| FILE_NON_DIRECTORY_FILE);
if (!NT_SUCCESS (status))
goto out;
- /* Just as in hook_or_detect_cygwin below, we have to take big executables
- into account. That means, we must not try to map the entire file, since
- there's no guarantee that the current process has enough VM in one block
- left for this mapping. The offset computation below ignores very big
- executables for now. In theory, since the import RVA table appears to
- be more or less at the end of the data section, independent of the used
- compiler, that shouldn't matter. */
- if (!GetFileSizeEx (h, &size))
- {
- NtClose (h);
- goto out;
- }
- if (size.QuadPart > wincap.allocation_granularity ())
- size.LowPart = wincap.allocation_granularity ();
+
hc = CreateFileMapping (h, &sec_none_nih, PAGE_READONLY, 0, 0, NULL);
NtClose (h);
if (!hc)
goto out;
- hm = (HMODULE) MapViewOfFile(hc, FILE_MAP_READ, 0, 0, size.LowPart);
- if (!hm)
- goto out;
+ hm = (HMODULE) MapViewOfFile(hc, FILE_MAP_READ, 0, 0, 0);
+ CloseHandle (hc);
PIMAGE_NT_HEADERS pExeNTHdr;
pExeNTHdr = PEHeaderFromHModule (hm);
@@ -215,55 +195,32 @@ find_first_notloaded_dll (path_conv& pc)
if (pExeNTHdr)
{
DWORD importRVA;
- DWORD importRVAMaxSize;
importRVA = pExeNTHdr->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress;
if (importRVA)
{
- long delta = rvadelta (pExeNTHdr, importRVA, importRVAMaxSize);
- if (delta < 0)
- goto out;
- importRVA -= delta;
-
- DWORD offset = 0;
- HMODULE map = NULL;
- if (importRVA + importRVAMaxSize > wincap.allocation_granularity ())
- {
- offset = rounddown (importRVA, wincap.allocation_granularity ());
- DWORD size = importRVA - offset + importRVAMaxSize;
- map = (HMODULE) MapViewOfFile (hc, FILE_MAP_READ, 0,
- offset, size);
- if (!map)
- goto out;
- }
+ long delta = rvadelta (pExeNTHdr, importRVA);
// Convert imports RVA to a usable pointer
PIMAGE_IMPORT_DESCRIPTOR pdfirst;
- pdfirst = rva (PIMAGE_IMPORT_DESCRIPTOR, map ?: hm,
- importRVA - offset);
+ pdfirst = rva (PIMAGE_IMPORT_DESCRIPTOR, hm, importRVA - delta);
// Iterate through each import descriptor, and redirect if appropriate
for (PIMAGE_IMPORT_DESCRIPTOR pd = pdfirst; pd->FirstThunk; pd++)
{
- const char *lib = rva (PSTR, map ?: hm,
- pd->Name - delta - offset);
+ const char *lib = rva (PSTR, hm, pd->Name - delta);
if (!LoadLibraryEx (lib, NULL, DONT_RESOLVE_DLL_REFERENCES
| LOAD_LIBRARY_AS_DATAFILE))
{
- static char buf[MAX_PATH];
- strlcpy (buf, lib, MAX_PATH);
- res = buf;
+ static char buf[NT_MAX_PATH];
+ res = strcpy (buf, lib);
}
}
- if (map)
- UnmapViewOfFile (map);
}
}
out:
if (hm)
UnmapViewOfFile (hm);
- if (hc)
- CloseHandle (hc);
return res;
}
@@ -276,11 +233,7 @@ hook_or_detect_cygwin (const char *name, const void *fn, WORD& subsys, HANDLE h)
PIMAGE_NT_HEADERS pExeNTHdr = PEHeaderFromHModule (hm);
if (!pExeNTHdr)
- return NULL;
-
- /* FIXME: This code has to be made 64 bit capable. */
- if (pExeNTHdr->FileHeader.Machine != IMAGE_FILE_MACHINE_I386)
- return NULL;
+ return false;
subsys = pExeNTHdr->OptionalHeader.Subsystem;
@@ -289,19 +242,18 @@ hook_or_detect_cygwin (const char *name, const void *fn, WORD& subsys, HANDLE h)
DWORD importRVASize = pExeNTHdr->OptionalHeader.DataDirectory
[IMAGE_DIRECTORY_ENTRY_IMPORT].Size;
if (!importRVA)
- return NULL;
+ return false;
- DWORD importRVAMaxSize;
- long delta = fn ? 0 : rvadelta (pExeNTHdr, importRVA, importRVAMaxSize);
+ long delta = fn ? 0 : rvadelta (pExeNTHdr, importRVA);
if (delta < 0)
- return NULL;
+ return false;
importRVA -= delta;
// Convert imports RVA to a usable pointer
PIMAGE_IMPORT_DESCRIPTOR pdfirst;
char *map = NULL;
DWORD offset = 0;
- if (h && importRVA + importRVAMaxSize > wincap.allocation_granularity ())
+ if (h && importRVA + importRVASize > wincap.allocation_granularity ())
{
/* If h is not NULL, the calling function only mapped at most the first
64K of the image. The IAT is usually at the end of the image, so
@@ -309,46 +261,11 @@ hook_or_detect_cygwin (const char *name, const void *fn, WORD& subsys, HANDLE h)
reside in the first 64K anyway. The offset must be a multiple of the
allocation granularity, though, so we have to map a bit more. */
offset = rounddown (importRVA, wincap.allocation_granularity ());
- /* But that's not all, unfortunately. Apparently there's a difference
- between the importRVASize of applications built with gcc and those
- built with Visual Studio. When built with gcc, importRVASize contains
- the size of the import RVA table plus the size of the referenced
- string table with the DLL names. When built with VS, it only contains
- the size of the naked import RVA table. The following code handles
- the situation. importRVAMaxSize contains the size of the remainder
- of the section. If the difference between importRVAMaxSize and
- importRVASize is less than 64K, we just use importRVAMaxSize to
- compute the size of the memory map. Otherwise the executable may be
- very big. In that case we only map the import RVA table and ... */
- DWORD size = importRVA - offset
- + ((importRVAMaxSize - importRVASize
- <= wincap.allocation_granularity ())
- ? importRVAMaxSize : importRVASize);
+ DWORD size = importRVA - offset + importRVASize;
map = (char *) MapViewOfFile (h, FILE_MAP_READ, 0, offset, size);
if (!map)
- return NULL;
+ return false;
pdfirst = rva (PIMAGE_IMPORT_DESCRIPTOR, map, importRVA - offset);
- /* ... carefully check the required size to fit the string table into
- the map as well. Allow NAME_MAX bytes for the DLL name, but don't
- go beyond the remainder of the section. */
- if (importRVAMaxSize - importRVASize > wincap.allocation_granularity ())
- {
- DWORD newsize = size;
- for (PIMAGE_IMPORT_DESCRIPTOR pd = pdfirst; pd->FirstThunk; pd++)
- if (pd->Name - delta - offset + (NAME_MAX + 1) > newsize)
- newsize = pd->Name - delta - offset + (NAME_MAX + 1);
- if (newsize > size)
- {
- if (newsize > importRVA - offset + importRVAMaxSize)
- newsize = importRVA - offset + importRVAMaxSize;
- UnmapViewOfFile (map);
- map = (char *) MapViewOfFile (h, FILE_MAP_READ, 0, offset,
- newsize);
- if (!map)
- return NULL;
- pdfirst = rva (PIMAGE_IMPORT_DESCRIPTOR, map, importRVA - offset);
- }
- }
}
else
pdfirst = rva (PIMAGE_IMPORT_DESCRIPTOR, hm, importRVA);
@@ -356,9 +273,7 @@ hook_or_detect_cygwin (const char *name, const void *fn, WORD& subsys, HANDLE h)
function_hook fh;
fh.origfn = NULL;
fh.hookfn = fn;
- char *buf = NULL;
- if (fn)
- buf = (char *) alloca (strlen (name) + sizeof ("_64"));
+ char *buf = (char *) alloca (strlen (name) + sizeof ("_64"));
int i = 0;
// Iterate through each import descriptor, and redirect if appropriate
for (PIMAGE_IMPORT_DESCRIPTOR pd = pdfirst; pd->FirstThunk; pd++)
@@ -381,8 +296,6 @@ hook_or_detect_cygwin (const char *name, const void *fn, WORD& subsys, HANDLE h)
if (map)
UnmapViewOfFile (map);
- if (!fn)
- return NULL;
while (!fh.origfn && (fh.name = makename (name, buf, i, -1)))
get_export (fh);
diff --git a/winsup/cygwin/include/cygwin/if.h b/winsup/cygwin/include/cygwin/if.h
index d99cda7bc..8f76e836e 100644
--- a/winsup/cygwin/include/cygwin/if.h
+++ b/winsup/cygwin/include/cygwin/if.h
@@ -111,12 +111,10 @@ struct ifconf
#define ifc_buf ifc_ifcu.ifcu_buf /* buffer address */
#define ifc_req ifc_ifcu.ifcu_req /* array of structures */
-#ifndef __INSIDE_CYGWIN_NET__
extern unsigned if_nametoindex (const char *);
extern char *if_indextoname (unsigned, char *);
extern struct if_nameindex *if_nameindex (void);
extern void if_freenameindex (struct if_nameindex *);
-#endif
#ifdef __cplusplus
};
diff --git a/winsup/cygwin/include/cygwin/in.h b/winsup/cygwin/include/cygwin/in.h
index 49957293d..30ac623a8 100644
--- a/winsup/cygwin/include/cygwin/in.h
+++ b/winsup/cygwin/include/cygwin/in.h
@@ -23,8 +23,6 @@
typedef uint16_t in_port_t;
typedef uint32_t in_addr_t;
-#ifndef __INSIDE_CYGWIN_NET__
-
/* Standard well-defined IP protocols. If you ever add one here, don't
forget to define it below. */
enum
@@ -262,6 +260,4 @@ struct sockaddr_in
#ifdef AF_INET6
#include <cygwin/in6.h>
#endif
-#endif
-
#endif /* _CYGWIN_IN_H */
diff --git a/winsup/cygwin/include/cygwin/socket.h b/winsup/cygwin/include/cygwin/socket.h
index 678b1031a..0f099241a 100644
--- a/winsup/cygwin/include/cygwin/socket.h
+++ b/winsup/cygwin/include/cygwin/socket.h
@@ -1,6 +1,6 @@
/* cygwin/socket.h
- Copyright 1999, 2000, 2001, 2005, 2006, 2007, 2009, 2010, 2012 Red Hat, Inc.
+ Copyright 1999, 2000, 2001, 2005, 2006, 2007, 2009, 2010 Red Hat, Inc.
This file is part of Cygwin.
@@ -26,7 +26,6 @@ typedef int socklen_t;
typedef uint16_t sa_family_t;
-#ifndef __INSIDE_CYGWIN_NET__
struct sockaddr {
sa_family_t sa_family; /* address family, AF_xxx */
char sa_data[14]; /* 14 bytes of protocol address */
@@ -45,7 +44,6 @@ struct sockaddr_storage {
int64_t __ss_align;
char _ss_pad2[_SS_PAD2SIZE];
};
-#endif
#include <asm/socket.h> /* arch-dependent defines */
#include <cygwin/sockios.h> /* the SIOCxxx I/O controls */
@@ -205,9 +203,6 @@ struct OLD_msghdr
#define MSG_NOSIGNAL 0x20 /* Don't raise SIGPIPE */
#define MSG_TRUNC 0x0100 /* Normal data truncated */
#define MSG_CTRUNC 0x0200 /* Control data truncated */
-/* Windows-specific flag values returned by recvmsg. */
-#define MSG_BCAST 0x0400 /* Broadcast datagram */
-#define MSG_MCAST 0x0800 /* Multicast datagram */
/* Setsockoptions(2) level. Thanks to BSD these must match IPPROTO_xxx */
#define SOL_IP 0
@@ -274,10 +269,8 @@ struct OLD_msghdr
#define MCAST_JOIN_SOURCE_GROUP 45
#define MCAST_LEAVE_SOURCE_GROUP 46
-#ifndef __INSIDE_CYGWIN_NET__
-#define MCAST_INCLUDE 0
-#define MCAST_EXCLUDE 1
-#endif
+#define MCAST_EXCLUDE 0
+#define MCAST_INCLUDE 1
/* Old WinSock1 values, needed internally */
#ifdef __INSIDE_CYGWIN__
diff --git a/winsup/cygwin/include/cygwin/version.h b/winsup/cygwin/include/cygwin/version.h
index 34f501f13..be5855843 100644
--- a/winsup/cygwin/include/cygwin/version.h
+++ b/winsup/cygwin/include/cygwin/version.h
@@ -43,7 +43,7 @@ details. */
changes to the DLL and is mainly informative in nature. */
#define CYGWIN_VERSION_DLL_MAJOR 1007
-#define CYGWIN_VERSION_DLL_MINOR 17
+#define CYGWIN_VERSION_DLL_MINOR 11
/* Major numbers before CYGWIN_VERSION_DLL_EPOCH are
incompatible. */
@@ -429,14 +429,12 @@ details. */
258: Export get_current_dir_name.
259: Export pthread_sigqueue.
260: Export scandirat.
- 261: Export memrchr.
- 262: Export getmntent_r.
*/
/* Note that we forgot to bump the api for ualarm, strtoll, strtoull */
#define CYGWIN_VERSION_API_MAJOR 0
-#define CYGWIN_VERSION_API_MINOR 262
+#define CYGWIN_VERSION_API_MINOR 260
/* There is also a compatibity version number associated with the
shared memory regions. It is incremented when incompatible
diff --git a/winsup/cygwin/include/elf.h b/winsup/cygwin/include/elf.h
index c094a1c78..0981dedce 100644
--- a/winsup/cygwin/include/elf.h
+++ b/winsup/cygwin/include/elf.h
@@ -1,41 +1,25 @@
-/*-
- * Copyright (c) 2001 David E. O'Brien.
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
- *
- * $FreeBSD$
- */
+/* elf.h
-/*
- * This is a Solaris compatibility header
- */
+ Copyright 2005 Red Hat, Inc.
+
+This file is part of Cygwin.
+
+This software is a copyrighted work licensed under the terms of the
+Cygwin license. Please consult the file "CYGWIN_LICENSE" for
+details. */
#ifndef _ELF_H_
#define _ELF_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
#include <sys/types.h>
-#include <machine/elf.h>
#include <sys/elf32.h>
#include <sys/elf64.h>
+#include <sys/elf_generic.h>
+#ifdef __cplusplus
+}
+#endif
-#endif /* !_ELF_H_ */
+#endif /*_ELF_H_*/
diff --git a/winsup/cygwin/include/inttypes.h b/winsup/cygwin/include/inttypes.h
index cc1d8970a..b24037eb4 100644
--- a/winsup/cygwin/include/inttypes.h
+++ b/winsup/cygwin/include/inttypes.h
@@ -1,6 +1,6 @@
/* inttypes.h - fixed size integer types
- Copyright 2003, 2005, 2009, 2010, 2012 Red Hat, Inc.
+ Copyright 2003, 2009, 2010 Red Hat, Inc.
This file is part of Cygwin.
@@ -15,238 +15,211 @@ details. */
#define __need_wchar_t
#include <stddef.h>
-/* C99 requires that in C++ the following macros should be defined only
- if requested. */
-#if !defined (__cplusplus) || defined (__STDC_FORMAT_MACROS) \
- || defined (__INSIDE_CYGWIN__)
-
-#ifdef __x86_64__
-#define __PRI64 "l"
-#define __PRIFAST "l"
-#define __PRIPTR "l"
-#else
-#define __PRI64 "ll"
-#define __PRIFAST
-#define __PRIPTR
-#endif
-
/* fprintf() macros for signed integers */
#define PRId8 "d"
#define PRId16 "d"
#define PRId32 "d"
-#define PRId64 __PRI64 "d"
+#define PRId64 "lld"
#define PRIdLEAST8 "d"
#define PRIdLEAST16 "d"
#define PRIdLEAST32 "d"
-#define PRIdLEAST64 __PRI64 "d"
+#define PRIdLEAST64 "lld"
#define PRIdFAST8 "d"
-#define PRIdFAST16 __PRIFAST "d"
-#define PRIdFAST32 __PRIFAST "d"
-#define PRIdFAST64 __PRI64 "d"
+#define PRIdFAST16 "d"
+#define PRIdFAST32 "d"
+#define PRIdFAST64 "lld"
-#define PRIdMAX __PRI64 "d"
-#define PRIdPTR __PRIPTR "d"
+#define PRIdMAX "lld"
+#define PRIdPTR "d"
#define PRIi8 "i"
#define PRIi16 "i"
#define PRIi32 "i"
-#define PRIi64 __PRI64 "i"
+#define PRIi64 "lli"
#define PRIiLEAST8 "i"
#define PRIiLEAST16 "i"
#define PRIiLEAST32 "i"
-#define PRIiLEAST64 __PRI64 "i"
+#define PRIiLEAST64 "lli"
#define PRIiFAST8 "i"
-#define PRIiFAST16 __PRIFAST "i"
-#define PRIiFAST32 __PRIFAST "i"
-#define PRIiFAST64 __PRI64 "i"
+#define PRIiFAST16 "i"
+#define PRIiFAST32 "i"
+#define PRIiFAST64 "lli"
-#define PRIiMAX __PRI64 "i"
-#define PRIiPTR __PRIPTR "i"
+#define PRIiMAX "lli"
+#define PRIiPTR "i"
/* fprintf() macros for unsigned integers */
#define PRIo8 "o"
#define PRIo16 "o"
#define PRIo32 "o"
-#define PRIo64 __PRI64 "o"
+#define PRIo64 "llo"
#define PRIoLEAST8 "o"
#define PRIoLEAST16 "o"
#define PRIoLEAST32 "o"
-#define PRIoLEAST64 __PRI64 "o"
+#define PRIoLEAST64 "llo"
#define PRIoFAST8 "o"
-#define PRIoFAST16 __PRIFAST "o"
-#define PRIoFAST32 __PRIFAST "o"
-#define PRIoFAST64 __PRI64 "o"
+#define PRIoFAST16 "o"
+#define PRIoFAST32 "o"
+#define PRIoFAST64 "llo"
-#define PRIoMAX __PRI64 "o"
-#define PRIoPTR __PRIPTR "o"
+#define PRIoMAX "llo"
+#define PRIoPTR "o"
#define PRIu8 "u"
#define PRIu16 "u"
#define PRIu32 "u"
-#define PRIu64 __PRI64 "u"
+#define PRIu64 "llu"
#define PRIuLEAST8 "u"
#define PRIuLEAST16 "u"
#define PRIuLEAST32 "u"
-#define PRIuLEAST64 __PRI64 "u"
+#define PRIuLEAST64 "llu"
#define PRIuFAST8 "u"
-#define PRIuFAST16 __PRIFAST "u"
-#define PRIuFAST32 __PRIFAST "u"
-#define PRIuFAST64 __PRI64 "u"
+#define PRIuFAST16 "u"
+#define PRIuFAST32 "u"
+#define PRIuFAST64 "llu"
-#define PRIuMAX __PRI64 "u"
-#define PRIuPTR __PRIPTR "u"
+#define PRIuMAX "llu"
+#define PRIuPTR "u"
#define PRIx8 "x"
#define PRIx16 "x"
#define PRIx32 "x"
-#define PRIx64 __PRI64 "x"
+#define PRIx64 "llx"
#define PRIxLEAST8 "x"
#define PRIxLEAST16 "x"
#define PRIxLEAST32 "x"
-#define PRIxLEAST64 __PRI64 "x"
+#define PRIxLEAST64 "llx"
#define PRIxFAST8 "x"
-#define PRIxFAST16 __PRIFAST "x"
-#define PRIxFAST32 __PRIFAST "x"
-#define PRIxFAST64 __PRI64 "x"
+#define PRIxFAST16 "x"
+#define PRIxFAST32 "x"
+#define PRIxFAST64 "llx"
-#define PRIxMAX __PRI64 "x"
-#define PRIxPTR __PRIPTR "x"
+#define PRIxMAX "llx"
+#define PRIxPTR "x"
#define PRIX8 "X"
#define PRIX16 "X"
#define PRIX32 "X"
-#define PRIX64 __PRI64 "X"
+#define PRIX64 "llX"
#define PRIXLEAST8 "X"
#define PRIXLEAST16 "X"
#define PRIXLEAST32 "X"
-#define PRIXLEAST64 __PRI64 "X"
+#define PRIXLEAST64 "llX"
#define PRIXFAST8 "X"
-#define PRIXFAST16 __PRIFAST "X"
-#define PRIXFAST32 __PRIFAST "X"
-#define PRIXFAST64 __PRI64 "X"
+#define PRIXFAST16 "X"
+#define PRIXFAST32 "X"
+#define PRIXFAST64 "llX"
-#define PRIXMAX __PRI64 "X"
-#define PRIXPTR __PRIPTR "X"
+#define PRIXMAX "llX"
+#define PRIXPTR "X"
/* fscanf() macros for signed integers */
-#ifdef __x86_64__
-#define __SCN64 "l"
-#define __SCNFAST "l"
-#define __SCNPTR "l"
-#else
-#define __SCN64 "ll"
-#define __SCNFAST
-#define __SCNPTR
-#endif
-
#define SCNd8 "hhd"
#define SCNd16 "hd"
#define SCNd32 "d"
-#define SCNd64 __SCN64 "d"
+#define SCNd64 "lld"
#define SCNdLEAST8 "hhd"
#define SCNdLEAST16 "hd"
#define SCNdLEAST32 "d"
-#define SCNdLEAST64 __SCN64 "d"
+#define SCNdLEAST64 "lld"
#define SCNdFAST8 "hhd"
-#define SCNdFAST16 __SCNFAST "d"
-#define SCNdFAST32 __SCNFAST "d"
-#define SCNdFAST64 __SCN64 "d"
+#define SCNdFAST16 "d"
+#define SCNdFAST32 "d"
+#define SCNdFAST64 "lld"
-#define SCNdMAX __SCN64 "d"
-#define SCNdPTR __SCNPTR "d"
+#define SCNdMAX "lld"
+#define SCNdPTR "d"
#define SCNi8 "hhi"
#define SCNi16 "hi"
#define SCNi32 "i"
-#define SCNi64 __SCN64 "i"
+#define SCNi64 "lli"
#define SCNiLEAST8 "hhi"
#define SCNiLEAST16 "hi"
#define SCNiLEAST32 "i"
-#define SCNiLEAST64 __SCN64 "i"
+#define SCNiLEAST64 "lli"
#define SCNiFAST8 "hhi"
-#define SCNiFAST16 __SCNFAST "i"
-#define SCNiFAST32 __SCNFAST "i"
-#define SCNiFAST64 __SCN64 "i"
+#define SCNiFAST16 "i"
+#define SCNiFAST32 "i"
+#define SCNiFAST64 "lli"
-#define SCNiMAX __SCN64 "i"
-#define SCNiPTR __SCNPTR "i"
+#define SCNiMAX "lli"
+#define SCNiPTR "i"
/* fscanf() macros for unsigned integers */
#define SCNo8 "hho"
#define SCNo16 "ho"
#define SCNo32 "o"
-#define SCNo64 __SCN64 "o"
+#define SCNo64 "llo"
#define SCNoLEAST8 "hho"
#define SCNoLEAST16 "ho"
#define SCNoLEAST32 "o"
-#define SCNoLEAST64 __SCN64 "o"
+#define SCNoLEAST64 "llo"
#define SCNoFAST8 "hho"
-#define SCNoFAST16 __SCNFAST "o"
-#define SCNoFAST32 __SCNFAST "o"
-#define SCNoFAST64 __SCN64 "o"
+#define SCNoFAST16 "o"
+#define SCNoFAST32 "o"
+#define SCNoFAST64 "llo"
-#define SCNoMAX __SCN64 "o"
-#define SCNoPTR __SCNPTR "o"
+#define SCNoMAX "llo"
+#define SCNoPTR "o"
#define SCNu8 "hhu"
#define SCNu16 "hu"
#define SCNu32 "u"
-#define SCNu64 __SCN64 "u"
+#define SCNu64 "llu"
#define SCNuLEAST8 "hhu"
#define SCNuLEAST16 "hu"
#define SCNuLEAST32 "u"
-#define SCNuLEAST64 __SCN64 "u"
+#define SCNuLEAST64 "llu"
#define SCNuFAST8 "hhu"
-#define SCNuFAST16 __SCNFAST "u"
-#define SCNuFAST32 __SCNFAST "u"
-#define SCNuFAST64 __SCN64 "u"
+#define SCNuFAST16 "u"
+#define SCNuFAST32 "u"
+#define SCNuFAST64 "llu"
-#define SCNuMAX __SCN64 "u"
-#define SCNuPTR __SCNPTR "u"
+#define SCNuMAX "llu"
+#define SCNuPTR "u"
#define SCNx8 "hhx"
#define SCNx16 "hx"
#define SCNx32 "x"
-#define SCNx64 __SCN64 "x"
+#define SCNx64 "llx"
#define SCNxLEAST8 "hhx"
#define SCNxLEAST16 "hx"
#define SCNxLEAST32 "x"
-#define SCNxLEAST64 __SCN64 "x"
+#define SCNxLEAST64 "llx"
#define SCNxFAST8 "hhx"
-#define SCNxFAST16 __SCNFAST "x"
-#define SCNxFAST32 __SCNFAST "x"
-#define SCNxFAST64 __SCN64 "x"
-
-#define SCNxMAX __SCN64 "x"
-#define SCNxPTR __SCNPTR "x"
+#define SCNxFAST16 "x"
+#define SCNxFAST32 "x"
+#define SCNxFAST64 "llx"
-#endif /* !__cplusplus || __STDC_FORMAT_MACROS || __INSIDE_CYGWIN__ */
+#define SCNxMAX "llx"
+#define SCNxPTR "x"
#ifdef __cplusplus
extern "C" {
diff --git a/winsup/cygwin/include/machine/elf.h b/winsup/cygwin/include/machine/elf.h
deleted file mode 100644
index 94278118f..000000000
--- a/winsup/cygwin/include/machine/elf.h
+++ /dev/null
@@ -1,117 +0,0 @@
-/*-
- * Copyright (c) 1996-1997 John D. Polstra.
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
- *
- * $FreeBSD$
- */
-
-#ifndef _MACHINE_ELF_H_
-#define _MACHINE_ELF_H_ 1
-
-/*
- * ELF definitions for the i386 architecture.
- */
-
-#include <sys/elf32.h> /* Definitions common to all 32 bit architectures. */
-#if defined(__ELF_WORD_SIZE) && __ELF_WORD_SIZE == 64
-#include <sys/elf64.h> /* Definitions common to all 64 bit architectures. */
-#endif
-
-#ifndef __ELF_WORD_SIZE
-#define __ELF_WORD_SIZE 32 /* Used by <sys/elf_generic.h> */
-#endif
-
-#include <sys/elf_generic.h>
-
-#define ELF_ARCH EM_386
-
-#define ELF_MACHINE_OK(x) ((x) == EM_386 || (x) == EM_486)
-
-/*
- * Auxiliary vector entries for passing information to the interpreter.
- *
- * The i386 supplement to the SVR4 ABI specification names this "auxv_t",
- * but POSIX lays claim to all symbols ending with "_t".
- */
-
-typedef struct { /* Auxiliary vector entry on initial stack */
- int a_type; /* Entry type. */
- union {
- long a_val; /* Integer value. */
- void *a_ptr; /* Address. */
- void (*a_fcn)(void); /* Function pointer (not used). */
- } a_un;
-} Elf32_Auxinfo;
-
-#if __ELF_WORD_SIZE == 64
-/* Fake for amd64 loader support */
-typedef struct {
- int fake;
-} Elf64_Auxinfo;
-#endif
-
-__ElfType(Auxinfo);
-
-/* Values for a_type. */
-#define AT_NULL 0 /* Terminates the vector. */
-#define AT_IGNORE 1 /* Ignored entry. */
-#define AT_EXECFD 2 /* File descriptor of program to load. */
-#define AT_PHDR 3 /* Program header of program already loaded. */
-#define AT_PHENT 4 /* Size of each program header entry. */
-#define AT_PHNUM 5 /* Number of program header entries. */
-#define AT_PAGESZ 6 /* Page size in bytes. */
-#define AT_BASE 7 /* Interpreter's base address. */
-#define AT_FLAGS 8 /* Flags (unused for i386). */
-#define AT_ENTRY 9 /* Where interpreter should transfer control. */
-#define AT_NOTELF 10 /* Program is not ELF ?? */
-#define AT_UID 11 /* Real uid. */
-#define AT_EUID 12 /* Effective uid. */
-#define AT_GID 13 /* Real gid. */
-#define AT_EGID 14 /* Effective gid. */
-#define AT_EXECPATH 15 /* Path to the executable. */
-#define AT_CANARY 16 /* Canary for SSP. */
-#define AT_CANARYLEN 17 /* Length of the canary. */
-#define AT_OSRELDATE 18 /* OSRELDATE. */
-#define AT_NCPUS 19 /* Number of CPUs. */
-#define AT_PAGESIZES 20 /* Pagesizes. */
-#define AT_PAGESIZESLEN 21 /* Number of pagesizes. */
-#define AT_STACKPROT 23 /* Initial stack protection. */
-
-#define AT_COUNT 24 /* Count of defined aux entry types. */
-
-/*
- * Relocation types.
- */
-
-#define R_386_COUNT 38 /* Count of defined relocation types. */
-
-/* Define "machine" characteristics */
-#define ELF_TARG_CLASS ELFCLASS32
-#define ELF_TARG_DATA ELFDATA2LSB
-#define ELF_TARG_MACH EM_386
-#define ELF_TARG_VER 1
-
-#define ET_DYN_LOAD_ADDR 0x01001000
-
-#endif /* !_MACHINE_ELF_H_ */
diff --git a/winsup/cygwin/include/mntent.h b/winsup/cygwin/include/mntent.h
index 5fb8e3a70..8ad270ba0 100644
--- a/winsup/cygwin/include/mntent.h
+++ b/winsup/cygwin/include/mntent.h
@@ -31,7 +31,6 @@ struct mntent
#include <stdio.h>
FILE *setmntent (const char *__filep, const char *__type);
struct mntent *getmntent (FILE *__filep);
-struct mntent *getmntent_r (FILE *, struct mntent *, char *, int);
int endmntent (FILE *__filep);
#endif
diff --git a/winsup/cygwin/include/netdb.h b/winsup/cygwin/include/netdb.h
index e4b85c6a7..69ef72765 100644
--- a/winsup/cygwin/include/netdb.h
+++ b/winsup/cygwin/include/netdb.h
@@ -117,7 +117,6 @@ struct rpcent {
int r_number; /* rpc program number */
};
-#ifndef __INSIDE_CYGWIN_NET__
struct addrinfo {
int ai_flags; /* input flags */
int ai_family; /* address family of socket */
@@ -128,7 +127,6 @@ struct addrinfo {
struct sockaddr *ai_addr; /* socket address of socket */
struct addrinfo *ai_next; /* pointer to next in list */
};
-#endif
/*
* Error return codes from gethostbyname() and gethostbyaddr()
@@ -139,9 +137,6 @@ struct addrinfo {
extern int h_errno;
#else
extern __declspec(dllimport) int h_errno;
-/* Some packages expect h_errno to be a macro, otherwise they redeclare
- h_errno, which leads to spurious warnings. */
-#define h_errno h_errno
#endif
#define NETDB_INTERNAL -1 /* see errno */
diff --git a/winsup/cygwin/include/stdint.h b/winsup/cygwin/include/stdint.h
index 070f7f306..12f16e220 100644
--- a/winsup/cygwin/include/stdint.h
+++ b/winsup/cygwin/include/stdint.h
@@ -1,6 +1,6 @@
/* stdint.h - integer types
- Copyright 2003, 2006, 2007, 2008, 2009, 2010, 2012 Red Hat, Inc.
+ Copyright 2003, 2006, 2007 Red Hat, Inc.
This file is part of Cygwin.
@@ -18,12 +18,8 @@ details. */
typedef signed char int8_t;
typedef short int16_t;
typedef int int32_t;
-#ifdef __x86_64__
-typedef long int64_t;
-#else
typedef long long int64_t;
#endif
-#endif
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
@@ -31,190 +27,114 @@ typedef unsigned short uint16_t;
#define __uint32_t_defined
typedef unsigned int uint32_t;
#endif
-#ifdef __x86_64__
-typedef unsigned long uint64_t;
-#else
typedef unsigned long long uint64_t;
-#endif
/* Minimum-width integer types */
typedef signed char int_least8_t;
typedef short int_least16_t;
typedef int int_least32_t;
-#ifdef __x86_64__
-typedef long int_least64_t;
-#else
typedef long long int_least64_t;
-#endif
typedef unsigned char uint_least8_t;
typedef unsigned short uint_least16_t;
typedef unsigned int uint_least32_t;
-#ifdef __x86_64__
-typedef unsigned long uint_least64_t;
-#else
typedef unsigned long long uint_least64_t;
-#endif
/* Fastest minimum-width integer types */
typedef signed char int_fast8_t;
-#ifdef __x86_64__
-typedef long int_fast16_t;
-typedef long int_fast32_t;
-typedef long int_fast64_t;
-#else
typedef int int_fast16_t;
typedef int int_fast32_t;
typedef long long int_fast64_t;
-#endif
typedef unsigned char uint_fast8_t;
-#ifdef __x86_64__
-typedef unsigned long uint_fast16_t;
-typedef unsigned long uint_fast32_t;
-typedef unsigned long uint_fast64_t;
-#else
typedef unsigned int uint_fast16_t;
typedef unsigned int uint_fast32_t;
typedef unsigned long long uint_fast64_t;
-#endif
/* Integer types capable of holding object pointers */
#ifndef __intptr_t_defined
#define __intptr_t_defined
-#ifdef __x86_64__
-typedef long intptr_t;
-#else
typedef int intptr_t;
#endif
-#endif
-#ifdef __x86_64__
-typedef unsigned long uintptr_t;
-#else
typedef unsigned int uintptr_t;
-#endif
/* Greatest-width integer types */
-#ifdef __x86_64__
-typedef long intmax_t;
-typedef unsigned long uintmax_t;
-#else
typedef long long intmax_t;
typedef unsigned long long uintmax_t;
-#endif
-
-/* C99 requires that in C++ the following macros should be defined only
- if requested. */
-#if !defined (__cplusplus) || defined (__STDC_LIMIT_MACROS) \
- || defined (__INSIDE_CYGWIN__)
-
-#if __x86_64__
-# define __I64(n) n ## L
-# define __U64(n) n ## UL
-#else
-# define __I64(n) n ## LL
-# define __U64(n) n ## ULL
-#endif
/* Limits of exact-width integer types */
#define INT8_MIN (-128)
#define INT16_MIN (-32768)
#define INT32_MIN (-2147483647 - 1)
-#define INT64_MIN (-__I64(9223372036854775807) - 1)
+#define INT64_MIN (-9223372036854775807LL - 1LL)
#define INT8_MAX (127)
#define INT16_MAX (32767)
#define INT32_MAX (2147483647)
-#define INT64_MAX (__I64(9223372036854775807))
+#define INT64_MAX (9223372036854775807LL)
#define UINT8_MAX (255)
#define UINT16_MAX (65535)
#define UINT32_MAX (4294967295U)
-#define UINT64_MAX (__U64(18446744073709551615))
+#define UINT64_MAX (18446744073709551615ULL)
/* Limits of minimum-width integer types */
#define INT_LEAST8_MIN (-128)
#define INT_LEAST16_MIN (-32768)
#define INT_LEAST32_MIN (-2147483647 - 1)
-#define INT_LEAST64_MIN (-__I64(9223372036854775807) - 1)
+#define INT_LEAST64_MIN (-9223372036854775807LL - 1LL)
#define INT_LEAST8_MAX (127)
#define INT_LEAST16_MAX (32767)
#define INT_LEAST32_MAX (2147483647)
-#define INT_LEAST64_MAX (__I64(9223372036854775807))
+#define INT_LEAST64_MAX (9223372036854775807LL)
#define UINT_LEAST8_MAX (255)
#define UINT_LEAST16_MAX (65535)
#define UINT_LEAST32_MAX (4294967295U)
-#define UINT_LEAST64_MAX (__U64(18446744073709551615))
+#define UINT_LEAST64_MAX (18446744073709551615ULL)
/* Limits of fastest minimum-width integer types */
#define INT_FAST8_MIN (-128)
-#ifdef __x86_64__
-#define INT_FAST16_MIN (-__I64(9223372036854775807) - 1)
-#define INT_FAST32_MIN (-__I64(9223372036854775807) - 1)
-#else
#define INT_FAST16_MIN (-2147483647 - 1)
#define INT_FAST32_MIN (-2147483647 - 1)
-#endif
-#define INT_FAST64_MIN (-__I64(9223372036854775807) - 1)
+#define INT_FAST64_MIN (-9223372036854775807LL - 1LL)
#define INT_FAST8_MAX (127)
-#ifdef __x86_64__
-#define INT_FAST16_MAX (__I64(9223372036854775807))
-#define INT_FAST32_MAX (__I64(9223372036854775807))
-#else
#define INT_FAST16_MAX (2147483647)
#define INT_FAST32_MAX (2147483647)
-#endif
-#define INT_FAST64_MAX (__I64(9223372036854775807))
+#define INT_FAST64_MAX (9223372036854775807LL)
#define UINT_FAST8_MAX (255)
-#ifdef __x86_64__
-#define UINT_FAST16_MAX (__U64(18446744073709551615))
-#define UINT_FAST32_MAX (__U64(18446744073709551615))
-#else
#define UINT_FAST16_MAX (4294967295U)
#define UINT_FAST32_MAX (4294967295U)
-#endif
-#define UINT_FAST64_MAX (__U64(18446744073709551615))
+#define UINT_FAST64_MAX (18446744073709551615ULL)
/* Limits of integer types capable of holding object pointers */
-#ifdef __x86_64__
-#define INTPTR_MIN (-__I64(9223372036854775807) - 1)
-#define INTPTR_MAX (__I64(9223372036854775807)
-#define UINTPTR_MAX (__U64(18446744073709551615))
-#else
#define INTPTR_MIN (-2147483647 - 1)
#define INTPTR_MAX (2147483647)
#define UINTPTR_MAX (4294967295U)
-#endif
/* Limits of greatest-width integer types */
-#define INTMAX_MIN (-__I64(9223372036854775807) - 1)
-#define INTMAX_MAX (__I64(9223372036854775807))
-#define UINTMAX_MAX (__U64(18446744073709551615))
+#define INTMAX_MIN (-9223372036854775807LL - 1LL)
+#define INTMAX_MAX (9223372036854775807LL)
+#define UINTMAX_MAX (18446744073709551615ULL)
/* Limits of other integer types */
#ifndef PTRDIFF_MIN
-#ifdef __x86_64__
-#define PTRDIFF_MIN (-9223372036854775807L - 1)
-#define PTRDIFF_MAX (9223372036854775807L)
-#else
#define PTRDIFF_MIN (-2147483647 - 1)
#define PTRDIFF_MAX (2147483647)
#endif
-#endif
#ifndef SIG_ATOMIC_MIN
#define SIG_ATOMIC_MIN (-2147483647 - 1)
@@ -224,12 +144,8 @@ typedef unsigned long long uintmax_t;
#endif
#ifndef SIZE_MAX
-#ifdef __x86_64__
-#define SIZE_MAX (18446744073709551615UL)
-#else
#define SIZE_MAX (4294967295U)
#endif
-#endif
#ifndef WCHAR_MIN
#ifdef __WCHAR_MIN__
@@ -246,43 +162,21 @@ typedef unsigned long long uintmax_t;
#define WINT_MAX (4294967295U)
#endif
-#endif /* !__cplusplus || __STDC_LIMIT_MACROS || __INSIDE_CYGWIN__ */
-
-/* C99 requires that in C++ the following macros should be defined only
- if requested. */
-#if !defined (__cplusplus) || defined (__STDC_CONSTANT_MACROS) \
- || defined (__INSIDE_CYGWIN__)
-
/* Macros for minimum-width integer constant expressions */
#define INT8_C(x) x
#define INT16_C(x) x
#define INT32_C(x) x
-#ifdef __x86_64__
-#define INT64_C(x) x ## L
-#else
#define INT64_C(x) x ## LL
-#endif
#define UINT8_C(x) x
#define UINT16_C(x) x
#define UINT32_C(x) x ## U
-#ifdef __x86_64__
-#define UINT64_C(x) x ## UL
-#else
#define UINT64_C(x) x ## ULL
-#endif
/* Macros for greatest-width integer constant expressions */
-#ifdef __x86_64__
-#define INTMAX_C(x) x ## L
-#define UINTMAX_C(x) x ## UL
-#else
#define INTMAX_C(x) x ## LL
#define UINTMAX_C(x) x ## ULL
-#endif
-
-#endif /* !__cplusplus || __STDC_CONSTANT_MACROS || __INSIDE_CYGWIN__ */
#endif /* _STDINT_H */
diff --git a/winsup/cygwin/include/sys/elf.h b/winsup/cygwin/include/sys/elf.h
deleted file mode 100644
index b2d6b77c9..000000000
--- a/winsup/cygwin/include/sys/elf.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*-
- * Copyright (c) 2001 David E. O'Brien.
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
- *
- * $FreeBSD$
- */
-
-/*
- * This is a Solaris compatibility header
- */
-
-#ifndef _SYS_ELF_H_
-#define _SYS_ELF_H_
-
-#include <sys/types.h>
-#include <machine/elf.h>
-#include <sys/elf32.h>
-#include <sys/elf64.h>
-
-#endif /* !_SYS_ELF_H_ */
diff --git a/winsup/cygwin/include/sys/elf32.h b/winsup/cygwin/include/sys/elf32.h
index 62bf7be68..5dfe9c8b0 100644
--- a/winsup/cygwin/include/sys/elf32.h
+++ b/winsup/cygwin/include/sys/elf32.h
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD$
+ * $FreeBSD: src/sys/sys/elf32.h,v 1.8 2002/05/30 08:32:18 dfr Exp $
*/
#ifndef _SYS_ELF32_H_
@@ -35,18 +35,13 @@
* ELF definitions common to all 32-bit architectures.
*/
-typedef uint32_t Elf32_Addr;
-typedef uint16_t Elf32_Half;
-typedef uint32_t Elf32_Off;
+typedef u_int32_t Elf32_Addr;
+typedef u_int16_t Elf32_Half;
+typedef u_int32_t Elf32_Off;
typedef int32_t Elf32_Sword;
-typedef uint32_t Elf32_Word;
-typedef uint64_t Elf32_Lword;
-
-typedef Elf32_Word Elf32_Hashelt;
-
-/* Non-standard class-dependent datatype used for abstraction. */
-typedef Elf32_Word Elf32_Size;
-typedef Elf32_Sword Elf32_Ssize;
+typedef u_int32_t Elf32_Word;
+typedef u_int32_t Elf32_Size;
+typedef Elf32_Off Elf32_Hashelt;
/*
* ELF header.
@@ -80,11 +75,11 @@ typedef struct {
Elf32_Word sh_flags; /* Section flags. */
Elf32_Addr sh_addr; /* Address in memory image. */
Elf32_Off sh_offset; /* Offset in file. */
- Elf32_Word sh_size; /* Size in bytes. */
+ Elf32_Size sh_size; /* Size in bytes. */
Elf32_Word sh_link; /* Index of a related section. */
Elf32_Word sh_info; /* Depends on section type. */
- Elf32_Word sh_addralign; /* Alignment in bytes. */
- Elf32_Word sh_entsize; /* Size of each entry in section. */
+ Elf32_Size sh_addralign; /* Alignment in bytes. */
+ Elf32_Size sh_entsize; /* Size of each entry in section. */
} Elf32_Shdr;
/*
@@ -96,10 +91,10 @@ typedef struct {
Elf32_Off p_offset; /* File offset of contents. */
Elf32_Addr p_vaddr; /* Virtual address in memory image. */
Elf32_Addr p_paddr; /* Physical address (not used). */
- Elf32_Word p_filesz; /* Size of contents in file. */
- Elf32_Word p_memsz; /* Size of contents in memory. */
+ Elf32_Size p_filesz; /* Size of contents in file. */
+ Elf32_Size p_memsz; /* Size of contents in memory. */
Elf32_Word p_flags; /* Access permission flags. */
- Elf32_Word p_align; /* Alignment in memory and file. */
+ Elf32_Size p_align; /* Alignment in memory and file. */
} Elf32_Phdr;
/*
@@ -109,7 +104,7 @@ typedef struct {
typedef struct {
Elf32_Sword d_tag; /* Entry type. */
union {
- Elf32_Word d_val; /* Integer value. */
+ Elf32_Size d_val; /* Integer value. */
Elf32_Addr d_ptr; /* Address value. */
} d_un;
} Elf32_Dyn;
@@ -139,51 +134,13 @@ typedef struct {
#define ELF32_R_INFO(sym, type) (((sym) << 8) + (unsigned char)(type))
/*
- * Note entry header
- */
-typedef Elf_Note Elf32_Nhdr;
-
-/*
- * Move entry
- */
-typedef struct {
- Elf32_Lword m_value; /* symbol value */
- Elf32_Word m_info; /* size + index */
- Elf32_Word m_poffset; /* symbol offset */
- Elf32_Half m_repeat; /* repeat count */
- Elf32_Half m_stride; /* stride info */
-} Elf32_Move;
-
-/*
- * The macros compose and decompose values for Move.r_info
- *
- * sym = ELF32_M_SYM(M.m_info)
- * size = ELF32_M_SIZE(M.m_info)
- * M.m_info = ELF32_M_INFO(sym, size)
- */
-#define ELF32_M_SYM(info) ((info)>>8)
-#define ELF32_M_SIZE(info) ((unsigned char)(info))
-#define ELF32_M_INFO(sym, size) (((sym)<<8)+(unsigned char)(size))
-
-/*
- * Hardware/Software capabilities entry
- */
-typedef struct {
- Elf32_Word c_tag; /* how to interpret value */
- union {
- Elf32_Word c_val;
- Elf32_Addr c_ptr;
- } c_un;
-} Elf32_Cap;
-
-/*
* Symbol table entries.
*/
typedef struct {
Elf32_Word st_name; /* String table index of name. */
Elf32_Addr st_value; /* Symbol value. */
- Elf32_Word st_size; /* Size of associated object. */
+ Elf32_Size st_size; /* Size of associated object. */
unsigned char st_info; /* Type and binding information. */
unsigned char st_other; /* Reserved (not used). */
Elf32_Half st_shndx; /* Section index of symbol. */
@@ -196,50 +153,4 @@ typedef struct {
/* Macro for constructing st_info from field values. */
#define ELF32_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf))
-/* Macro for accessing the fields of st_other. */
-#define ELF32_ST_VISIBILITY(oth) ((oth) & 0x3)
-
-/* Structures used by Sun & GNU symbol versioning. */
-typedef struct
-{
- Elf32_Half vd_version;
- Elf32_Half vd_flags;
- Elf32_Half vd_ndx;
- Elf32_Half vd_cnt;
- Elf32_Word vd_hash;
- Elf32_Word vd_aux;
- Elf32_Word vd_next;
-} Elf32_Verdef;
-
-typedef struct
-{
- Elf32_Word vda_name;
- Elf32_Word vda_next;
-} Elf32_Verdaux;
-
-typedef struct
-{
- Elf32_Half vn_version;
- Elf32_Half vn_cnt;
- Elf32_Word vn_file;
- Elf32_Word vn_aux;
- Elf32_Word vn_next;
-} Elf32_Verneed;
-
-typedef struct
-{
- Elf32_Word vna_hash;
- Elf32_Half vna_flags;
- Elf32_Half vna_other;
- Elf32_Word vna_name;
- Elf32_Word vna_next;
-} Elf32_Vernaux;
-
-typedef Elf32_Half Elf32_Versym;
-
-typedef struct {
- Elf32_Half si_boundto; /* direct bindings - symbol bound to */
- Elf32_Half si_flags; /* per symbol flags */
-} Elf32_Syminfo;
-
#endif /* !_SYS_ELF32_H_ */
diff --git a/winsup/cygwin/include/sys/elf64.h b/winsup/cygwin/include/sys/elf64.h
index 4ec7d341e..48556be5f 100644
--- a/winsup/cygwin/include/sys/elf64.h
+++ b/winsup/cygwin/include/sys/elf64.h
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD$
+ * $FreeBSD: src/sys/sys/elf64.h,v 1.10 2002/05/30 08:32:18 dfr Exp $
*/
#ifndef _SYS_ELF64_H_
@@ -37,12 +37,14 @@
typedef uint64_t Elf64_Addr;
typedef uint16_t Elf64_Half;
-typedef uint64_t Elf64_Off;
-typedef int32_t Elf64_Sword;
-typedef int64_t Elf64_Sxword;
typedef uint32_t Elf64_Word;
-typedef uint64_t Elf64_Lword;
+typedef int32_t Elf64_Sword;
typedef uint64_t Elf64_Xword;
+typedef int64_t Elf64_Sxword;
+typedef uint64_t Elf64_Off;
+typedef uint16_t Elf64_Section;
+typedef Elf64_Half Elf64_Versym;
+typedef uint16_t Elf64_Quarter;
/*
* Types of dynamic symbol hash table bucket and chain elements.
@@ -51,11 +53,11 @@ typedef uint64_t Elf64_Xword;
* typedef is required.
*/
-typedef Elf64_Word Elf64_Hashelt;
-
-/* Non-standard class-dependent datatype used for abstraction. */
-typedef Elf64_Xword Elf64_Size;
-typedef Elf64_Sxword Elf64_Ssize;
+#ifdef __alpha__
+typedef Elf64_Off Elf64_Hashelt;
+#else
+typedef Elf64_Half Elf64_Hashelt;
+#endif
/*
* ELF header.
@@ -141,47 +143,11 @@ typedef struct {
} Elf64_Rela;
/* Macros for accessing the fields of r_info. */
-#define ELF64_R_SYM(info) ((info) >> 32)
-#define ELF64_R_TYPE(info) ((info) & 0xffffffffL)
+#define ELF64_R_SYM(info) ((info) >> 32)
+#define ELF64_R_TYPE(info) ((unsigned char)(info))
/* Macro for constructing r_info from field values. */
-#define ELF64_R_INFO(sym, type) (((sym) << 32) + ((type) & 0xffffffffL))
-
-#define ELF64_R_TYPE_DATA(info) (((Elf64_Xword)(info)<<32)>>40)
-#define ELF64_R_TYPE_ID(info) (((Elf64_Xword)(info)<<56)>>56)
-#define ELF64_R_TYPE_INFO(data, type) \
- (((Elf64_Xword)(data)<<8)+(Elf64_Xword)(type))
-
-/*
- * Note entry header
- */
-typedef Elf_Note Elf64_Nhdr;
-
-/*
- * Move entry
- */
-typedef struct {
- Elf64_Lword m_value; /* symbol value */
- Elf64_Xword m_info; /* size + index */
- Elf64_Xword m_poffset; /* symbol offset */
- Elf64_Half m_repeat; /* repeat count */
- Elf64_Half m_stride; /* stride info */
-} Elf64_Move;
-
-#define ELF64_M_SYM(info) ((info)>>8)
-#define ELF64_M_SIZE(info) ((unsigned char)(info))
-#define ELF64_M_INFO(sym, size) (((sym)<<8)+(unsigned char)(size))
-
-/*
- * Hardware/Software capabilities entry
- */
-typedef struct {
- Elf64_Xword c_tag; /* how to interpret value */
- union {
- Elf64_Xword c_val;
- Elf64_Addr c_ptr;
- } c_un;
-} Elf64_Cap;
+#define ELF64_R_INFO(sym, type) (((sym) << 32) + (unsigned char)(type))
/*
* Symbol table entries.
@@ -191,58 +157,16 @@ typedef struct {
Elf64_Word st_name; /* String table index of name. */
unsigned char st_info; /* Type and binding information. */
unsigned char st_other; /* Reserved (not used). */
- Elf64_Half st_shndx; /* Section index of symbol. */
+ Elf64_Section st_shndx; /* Section index of symbol. */
Elf64_Addr st_value; /* Symbol value. */
Elf64_Xword st_size; /* Size of associated object. */
} Elf64_Sym;
/* Macros for accessing the fields of st_info. */
-#define ELF64_ST_BIND(info) ((info) >> 4)
-#define ELF64_ST_TYPE(info) ((info) & 0xf)
+#define ELF64_ST_BIND(info) ((info) >> 4)
+#define ELF64_ST_TYPE(info) ((info) & 0xf)
/* Macro for constructing st_info from field values. */
-#define ELF64_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf))
-
-/* Macro for accessing the fields of st_other. */
-#define ELF64_ST_VISIBILITY(oth) ((oth) & 0x3)
-
-/* Structures used by Sun & GNU-style symbol versioning. */
-typedef struct {
- Elf64_Half vd_version;
- Elf64_Half vd_flags;
- Elf64_Half vd_ndx;
- Elf64_Half vd_cnt;
- Elf64_Word vd_hash;
- Elf64_Word vd_aux;
- Elf64_Word vd_next;
-} Elf64_Verdef;
-
-typedef struct {
- Elf64_Word vda_name;
- Elf64_Word vda_next;
-} Elf64_Verdaux;
-
-typedef struct {
- Elf64_Half vn_version;
- Elf64_Half vn_cnt;
- Elf64_Word vn_file;
- Elf64_Word vn_aux;
- Elf64_Word vn_next;
-} Elf64_Verneed;
-
-typedef struct {
- Elf64_Word vna_hash;
- Elf64_Half vna_flags;
- Elf64_Half vna_other;
- Elf64_Word vna_name;
- Elf64_Word vna_next;
-} Elf64_Vernaux;
-
-typedef Elf64_Half Elf64_Versym;
-
-typedef struct {
- Elf64_Half si_boundto; /* direct bindings - symbol bound to */
- Elf64_Half si_flags; /* per symbol flags */
-} Elf64_Syminfo;
+#define ELF64_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf))
#endif /* !_SYS_ELF64_H_ */
diff --git a/winsup/cygwin/include/sys/elf_common.h b/winsup/cygwin/include/sys/elf_common.h
index 4b1025613..b864f0464 100644
--- a/winsup/cygwin/include/sys/elf_common.h
+++ b/winsup/cygwin/include/sys/elf_common.h
@@ -1,5 +1,4 @@
/*-
- * Copyright (c) 2000, 2001, 2008, 2011, David E. O'Brien
* Copyright (c) 1998 John D. Polstra.
* All rights reserved.
*
@@ -24,11 +23,11 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD$
+ * $FreeBSD: src/sys/sys/elf_common.h,v 1.15 2004/05/05 02:38:54 marcel Exp $
*/
#ifndef _SYS_ELF_COMMON_H_
-#define _SYS_ELF_COMMON_H_ 1
+#define _SYS_ELF_COMMON_H_ 1
/*
* ELF definitions that are independent of architecture or word size.
@@ -49,336 +48,185 @@ typedef struct {
u_int32_t n_type; /* Type of this note. */
} Elf_Note;
-/*
- * The header for GNU-style hash sections.
- */
-
-typedef struct {
- u_int32_t gh_nbuckets; /* Number of hash buckets. */
- u_int32_t gh_symndx; /* First visible symbol in .dynsym. */
- u_int32_t gh_maskwords; /* #maskwords used in bloom filter. */
- u_int32_t gh_shift2; /* Bloom filter shift count. */
-} Elf_GNU_Hash_Header;
-
/* Indexes into the e_ident array. Keep synced with
- http://www.sco.com/developers/gabi/latest/ch4.eheader.html */
-#define EI_MAG0 0 /* Magic number, byte 0. */
-#define EI_MAG1 1 /* Magic number, byte 1. */
-#define EI_MAG2 2 /* Magic number, byte 2. */
-#define EI_MAG3 3 /* Magic number, byte 3. */
-#define EI_CLASS 4 /* Class of machine. */
-#define EI_DATA 5 /* Data format. */
-#define EI_VERSION 6 /* ELF format version. */
-#define EI_OSABI 7 /* Operating system / ABI identification */
-#define EI_ABIVERSION 8 /* ABI version */
-#define OLD_EI_BRAND 8 /* Start of architecture identification. */
-#define EI_PAD 9 /* Start of padding (per SVR4 ABI). */
-#define EI_NIDENT 16 /* Size of e_ident array. */
+ http://www.sco.com/developer/gabi/ch4.eheader.html */
+#define EI_MAG0 0 /* Magic number, byte 0. */
+#define EI_MAG1 1 /* Magic number, byte 1. */
+#define EI_MAG2 2 /* Magic number, byte 2. */
+#define EI_MAG3 3 /* Magic number, byte 3. */
+#define EI_CLASS 4 /* Class of machine. */
+#define EI_DATA 5 /* Data format. */
+#define EI_VERSION 6 /* ELF format version. */
+#define EI_OSABI 7 /* Operating system / ABI identification */
+#define EI_ABIVERSION 8 /* ABI version */
+#define OLD_EI_BRAND 8 /* Start of architecture identification. */
+#define EI_PAD 9 /* Start of padding (per SVR4 ABI). */
+#define EI_NIDENT 16 /* Size of e_ident array. */
/* Values for the magic number bytes. */
-#define ELFMAG0 0x7f
-#define ELFMAG1 'E'
-#define ELFMAG2 'L'
-#define ELFMAG3 'F'
-#define ELFMAG "\177ELF" /* magic string */
-#define SELFMAG 4 /* magic string size */
+#define ELFMAG0 0x7f
+#define ELFMAG1 'E'
+#define ELFMAG2 'L'
+#define ELFMAG3 'F'
+#define ELFMAG "\177ELF" /* magic string */
+#define SELFMAG 4 /* magic string size */
/* Values for e_ident[EI_VERSION] and e_version. */
-#define EV_NONE 0
-#define EV_CURRENT 1
+#define EV_NONE 0
+#define EV_CURRENT 1
/* Values for e_ident[EI_CLASS]. */
-#define ELFCLASSNONE 0 /* Unknown class. */
-#define ELFCLASS32 1 /* 32-bit architecture. */
-#define ELFCLASS64 2 /* 64-bit architecture. */
+#define ELFCLASSNONE 0 /* Unknown class. */
+#define ELFCLASS32 1 /* 32-bit architecture. */
+#define ELFCLASS64 2 /* 64-bit architecture. */
/* Values for e_ident[EI_DATA]. */
-#define ELFDATANONE 0 /* Unknown data format. */
-#define ELFDATA2LSB 1 /* 2's complement little-endian. */
-#define ELFDATA2MSB 2 /* 2's complement big-endian. */
+#define ELFDATANONE 0 /* Unknown data format. */
+#define ELFDATA2LSB 1 /* 2's complement little-endian. */
+#define ELFDATA2MSB 2 /* 2's complement big-endian. */
/* Values for e_ident[EI_OSABI]. */
-#define ELFOSABI_NONE 0 /* UNIX System V ABI */
-#define ELFOSABI_HPUX 1 /* HP-UX operating system */
-#define ELFOSABI_NETBSD 2 /* NetBSD */
-#define ELFOSABI_LINUX 3 /* GNU/Linux */
-#define ELFOSABI_HURD 4 /* GNU/Hurd */
-#define ELFOSABI_86OPEN 5 /* 86Open common IA32 ABI */
-#define ELFOSABI_SOLARIS 6 /* Solaris */
-#define ELFOSABI_AIX 7 /* AIX */
-#define ELFOSABI_IRIX 8 /* IRIX */
-#define ELFOSABI_FREEBSD 9 /* FreeBSD */
-#define ELFOSABI_TRU64 10 /* TRU64 UNIX */
-#define ELFOSABI_MODESTO 11 /* Novell Modesto */
-#define ELFOSABI_OPENBSD 12 /* OpenBSD */
-#define ELFOSABI_OPENVMS 13 /* Open VMS */
-#define ELFOSABI_NSK 14 /* HP Non-Stop Kernel */
-#define ELFOSABI_AROS 15 /* Amiga Research OS */
-#define ELFOSABI_ARM 97 /* ARM */
-#define ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */
-
-#define ELFOSABI_SYSV ELFOSABI_NONE /* symbol used in old spec */
-#define ELFOSABI_MONTEREY ELFOSABI_AIX /* Monterey */
+#define ELFOSABI_SYSV 0 /* UNIX System V ABI */
+#define ELFOSABI_NONE ELFOSABI_SYSV /* symbol used in old spec */
+#define ELFOSABI_HPUX 1 /* HP-UX operating system */
+#define ELFOSABI_NETBSD 2 /* NetBSD */
+#define ELFOSABI_LINUX 3 /* GNU/Linux */
+#define ELFOSABI_HURD 4 /* GNU/Hurd */
+#define ELFOSABI_86OPEN 5 /* 86Open common IA32 ABI */
+#define ELFOSABI_SOLARIS 6 /* Solaris */
+#define ELFOSABI_MONTEREY 7 /* Monterey */
+#define ELFOSABI_IRIX 8 /* IRIX */
+#define ELFOSABI_FREEBSD 9 /* FreeBSD */
+#define ELFOSABI_TRU64 10 /* TRU64 UNIX */
+#define ELFOSABI_MODESTO 11 /* Novell Modesto */
+#define ELFOSABI_OPENBSD 12 /* OpenBSD */
+#define ELFOSABI_ARM 97 /* ARM */
+#define ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */
/* e_ident */
-#define IS_ELF(ehdr) ((ehdr).e_ident[EI_MAG0] == ELFMAG0 && \
+#define IS_ELF(ehdr) ((ehdr).e_ident[EI_MAG0] == ELFMAG0 && \
(ehdr).e_ident[EI_MAG1] == ELFMAG1 && \
(ehdr).e_ident[EI_MAG2] == ELFMAG2 && \
(ehdr).e_ident[EI_MAG3] == ELFMAG3)
/* Values for e_type. */
-#define ET_NONE 0 /* Unknown type. */
-#define ET_REL 1 /* Relocatable. */
-#define ET_EXEC 2 /* Executable. */
-#define ET_DYN 3 /* Shared object. */
-#define ET_CORE 4 /* Core file. */
-#define ET_LOOS 0xfe00 /* First operating system specific. */
-#define ET_HIOS 0xfeff /* Last operating system-specific. */
-#define ET_LOPROC 0xff00 /* First processor-specific. */
-#define ET_HIPROC 0xffff /* Last processor-specific. */
+#define ET_NONE 0 /* Unknown type. */
+#define ET_REL 1 /* Relocatable. */
+#define ET_EXEC 2 /* Executable. */
+#define ET_DYN 3 /* Shared object. */
+#define ET_CORE 4 /* Core file. */
/* Values for e_machine. */
-#define EM_NONE 0 /* Unknown machine. */
-#define EM_M32 1 /* AT&T WE32100. */
-#define EM_SPARC 2 /* Sun SPARC. */
-#define EM_386 3 /* Intel i386. */
-#define EM_68K 4 /* Motorola 68000. */
-#define EM_88K 5 /* Motorola 88000. */
-#define EM_860 7 /* Intel i860. */
-#define EM_MIPS 8 /* MIPS R3000 Big-Endian only. */
-#define EM_S370 9 /* IBM System/370. */
-#define EM_MIPS_RS3_LE 10 /* MIPS R3000 Little-Endian. */
-#define EM_PARISC 15 /* HP PA-RISC. */
-#define EM_VPP500 17 /* Fujitsu VPP500. */
-#define EM_SPARC32PLUS 18 /* SPARC v8plus. */
-#define EM_960 19 /* Intel 80960. */
-#define EM_PPC 20 /* PowerPC 32-bit. */
-#define EM_PPC64 21 /* PowerPC 64-bit. */
-#define EM_S390 22 /* IBM System/390. */
-#define EM_V800 36 /* NEC V800. */
-#define EM_FR20 37 /* Fujitsu FR20. */
-#define EM_RH32 38 /* TRW RH-32. */
-#define EM_RCE 39 /* Motorola RCE. */
-#define EM_ARM 40 /* ARM. */
-#define EM_SH 42 /* Hitachi SH. */
-#define EM_SPARCV9 43 /* SPARC v9 64-bit. */
-#define EM_TRICORE 44 /* Siemens TriCore embedded processor. */
-#define EM_ARC 45 /* Argonaut RISC Core. */
-#define EM_H8_300 46 /* Hitachi H8/300. */
-#define EM_H8_300H 47 /* Hitachi H8/300H. */
-#define EM_H8S 48 /* Hitachi H8S. */
-#define EM_H8_500 49 /* Hitachi H8/500. */
-#define EM_IA_64 50 /* Intel IA-64 Processor. */
-#define EM_MIPS_X 51 /* Stanford MIPS-X. */
-#define EM_COLDFIRE 52 /* Motorola ColdFire. */
-#define EM_68HC12 53 /* Motorola M68HC12. */
-#define EM_MMA 54 /* Fujitsu MMA. */
-#define EM_PCP 55 /* Siemens PCP. */
-#define EM_NCPU 56 /* Sony nCPU. */
-#define EM_NDR1 57 /* Denso NDR1 microprocessor. */
-#define EM_STARCORE 58 /* Motorola Star*Core processor. */
-#define EM_ME16 59 /* Toyota ME16 processor. */
-#define EM_ST100 60 /* STMicroelectronics ST100 processor. */
-#define EM_TINYJ 61 /* Advanced Logic Corp. TinyJ processor. */
-#define EM_X86_64 62 /* Advanced Micro Devices x86-64 */
-#define EM_AMD64 EM_X86_64 /* Advanced Micro Devices x86-64 (compat) */
-#define EM_PDSP 63 /* Sony DSP Processor. */
-#define EM_FX66 66 /* Siemens FX66 microcontroller. */
-#define EM_ST9PLUS 67 /* STMicroelectronics ST9+ 8/16
- microcontroller. */
-#define EM_ST7 68 /* STmicroelectronics ST7 8-bit
- microcontroller. */
-#define EM_68HC16 69 /* Motorola MC68HC16 microcontroller. */
-#define EM_68HC11 70 /* Motorola MC68HC11 microcontroller. */
-#define EM_68HC08 71 /* Motorola MC68HC08 microcontroller. */
-#define EM_68HC05 72 /* Motorola MC68HC05 microcontroller. */
-#define EM_SVX 73 /* Silicon Graphics SVx. */
-#define EM_ST19 74 /* STMicroelectronics ST19 8-bit mc. */
-#define EM_VAX 75 /* Digital VAX. */
-#define EM_CRIS 76 /* Axis Communications 32-bit embedded
- processor. */
-#define EM_JAVELIN 77 /* Infineon Technologies 32-bit embedded
- processor. */
-#define EM_FIREPATH 78 /* Element 14 64-bit DSP Processor. */
-#define EM_ZSP 79 /* LSI Logic 16-bit DSP Processor. */
-#define EM_MMIX 80 /* Donald Knuth's educational 64-bit proc. */
-#define EM_HUANY 81 /* Harvard University machine-independent
- object files. */
-#define EM_PRISM 82 /* SiTera Prism. */
-#define EM_AVR 83 /* Atmel AVR 8-bit microcontroller. */
-#define EM_FR30 84 /* Fujitsu FR30. */
-#define EM_D10V 85 /* Mitsubishi D10V. */
-#define EM_D30V 86 /* Mitsubishi D30V. */
-#define EM_V850 87 /* NEC v850. */
-#define EM_M32R 88 /* Mitsubishi M32R. */
-#define EM_MN10300 89 /* Matsushita MN10300. */
-#define EM_MN10200 90 /* Matsushita MN10200. */
-#define EM_PJ 91 /* picoJava. */
-#define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor. */
-#define EM_ARC_A5 93 /* ARC Cores Tangent-A5. */
-#define EM_XTENSA 94 /* Tensilica Xtensa Architecture. */
-#define EM_VIDEOCORE 95 /* Alphamosaic VideoCore processor. */
-#define EM_TMM_GPP 96 /* Thompson Multimedia General Purpose
- Processor. */
-#define EM_NS32K 97 /* National Semiconductor 32000 series. */
-#define EM_TPC 98 /* Tenor Network TPC processor. */
-#define EM_SNP1K 99 /* Trebia SNP 1000 processor. */
-#define EM_ST200 100 /* STMicroelectronics ST200 microcontroller. */
-#define EM_IP2K 101 /* Ubicom IP2xxx microcontroller family. */
-#define EM_MAX 102 /* MAX Processor. */
-#define EM_CR 103 /* National Semiconductor CompactRISC
- microprocessor. */
-#define EM_F2MC16 104 /* Fujitsu F2MC16. */
-#define EM_MSP430 105 /* Texas Instruments embedded microcontroller
- msp430. */
-#define EM_BLACKFIN 106 /* Analog Devices Blackfin (DSP) processor. */
-#define EM_SE_C33 107 /* S1C33 Family of Seiko Epson processors. */
-#define EM_SEP 108 /* Sharp embedded microprocessor. */
-#define EM_ARCA 109 /* Arca RISC Microprocessor. */
-#define EM_UNICORE 110 /* Microprocessor series from PKU-Unity Ltd.
- and MPRC of Peking University */
-
-/* Non-standard or deprecated. */
-#define EM_486 6 /* Intel i486. */
-#define EM_MIPS_RS4_BE 10 /* MIPS R4000 Big-Endian */
-#define EM_ALPHA_STD 41 /* Digital Alpha (standard value). */
-#define EM_ALPHA 0x9026 /* Alpha (written in the absence of an ABI) */
+#define EM_NONE 0 /* Unknown machine. */
+#define EM_M32 1 /* AT&T WE32100. */
+#define EM_SPARC 2 /* Sun SPARC. */
+#define EM_386 3 /* Intel i386. */
+#define EM_68K 4 /* Motorola 68000. */
+#define EM_88K 5 /* Motorola 88000. */
+#define EM_486 6 /* Intel i486. */
+#define EM_860 7 /* Intel i860. */
+#define EM_MIPS 8 /* MIPS R3000 Big-Endian only */
+
+/* Extensions. This list is not complete. */
+#define EM_S370 9 /* IBM System/370 */
+#define EM_MIPS_RS4_BE 10 /* MIPS R4000 Big-Endian */ /* Depreciated */
+#define EM_PARISC 15 /* HPPA */
+#define EM_SPARC32PLUS 18 /* SPARC v8plus */
+#define EM_PPC 20 /* PowerPC 32-bit */
+#define EM_PPC64 21 /* PowerPC 64-bit */
+#define EM_ARM 40 /* ARM */
+#define EM_SPARCV9 43 /* SPARC v9 64-bit */
+#define EM_IA_64 50 /* Intel IA-64 Processor */
+#define EM_X86_64 62 /* Advanced Micro Devices x86-64 */
+#define EM_ALPHA 0x9026 /* Alpha (written in the absence of an ABI */
/* Special section indexes. */
-#define SHN_UNDEF 0 /* Undefined, missing, irrelevant. */
-#define SHN_LORESERVE 0xff00 /* First of reserved range. */
-#define SHN_LOPROC 0xff00 /* First processor-specific. */
-#define SHN_HIPROC 0xff1f /* Last processor-specific. */
-#define SHN_LOOS 0xff20 /* First operating system-specific. */
-#define SHN_HIOS 0xff3f /* Last operating system-specific. */
-#define SHN_ABS 0xfff1 /* Absolute values. */
-#define SHN_COMMON 0xfff2 /* Common data. */
-#define SHN_XINDEX 0xffff /* Escape -- index stored elsewhere. */
-#define SHN_HIRESERVE 0xffff /* Last of reserved range. */
+#define SHN_UNDEF 0 /* Undefined, missing, irrelevant. */
+#define SHN_LORESERVE 0xff00 /* First of reserved range. */
+#define SHN_LOPROC 0xff00 /* First processor-specific. */
+#define SHN_HIPROC 0xff1f /* Last processor-specific. */
+#define SHN_ABS 0xfff1 /* Absolute values. */
+#define SHN_COMMON 0xfff2 /* Common data. */
+#define SHN_HIRESERVE 0xffff /* Last of reserved range. */
/* sh_type */
-#define SHT_NULL 0 /* inactive */
-#define SHT_PROGBITS 1 /* program defined information */
-#define SHT_SYMTAB 2 /* symbol table section */
-#define SHT_STRTAB 3 /* string table section */
-#define SHT_RELA 4 /* relocation section with addends */
-#define SHT_HASH 5 /* symbol hash table section */
-#define SHT_DYNAMIC 6 /* dynamic section */
-#define SHT_NOTE 7 /* note section */
-#define SHT_NOBITS 8 /* no space section */
-#define SHT_REL 9 /* relocation section - no addends */
-#define SHT_SHLIB 10 /* reserved - purpose unknown */
-#define SHT_DYNSYM 11 /* dynamic symbol table section */
-#define SHT_INIT_ARRAY 14 /* Initialization function pointers. */
-#define SHT_FINI_ARRAY 15 /* Termination function pointers. */
-#define SHT_PREINIT_ARRAY 16 /* Pre-initialization function ptrs. */
-#define SHT_GROUP 17 /* Section group. */
-#define SHT_SYMTAB_SHNDX 18 /* Section indexes (see SHN_XINDEX). */
-#define SHT_LOOS 0x60000000 /* First of OS specific semantics */
-#define SHT_LOSUNW 0x6ffffff4
-#define SHT_SUNW_dof 0x6ffffff4
-#define SHT_SUNW_cap 0x6ffffff5
-#define SHT_SUNW_SIGNATURE 0x6ffffff6
-#define SHT_GNU_HASH 0x6ffffff6
-#define SHT_SUNW_ANNOTATE 0x6ffffff7
-#define SHT_SUNW_DEBUGSTR 0x6ffffff8
-#define SHT_SUNW_DEBUG 0x6ffffff9
-#define SHT_SUNW_move 0x6ffffffa
-#define SHT_SUNW_COMDAT 0x6ffffffb
-#define SHT_SUNW_syminfo 0x6ffffffc
-#define SHT_SUNW_verdef 0x6ffffffd
-#define SHT_GNU_verdef 0x6ffffffd /* Symbol versions provided */
-#define SHT_SUNW_verneed 0x6ffffffe
-#define SHT_GNU_verneed 0x6ffffffe /* Symbol versions required */
-#define SHT_SUNW_versym 0x6fffffff
-#define SHT_GNU_versym 0x6fffffff /* Symbol version table */
-#define SHT_HISUNW 0x6fffffff
-#define SHT_HIOS 0x6fffffff /* Last of OS specific semantics */
-#define SHT_LOPROC 0x70000000 /* reserved range for processor */
-#define SHT_AMD64_UNWIND 0x70000001 /* unwind information */
-#define SHT_MIPS_REGINFO 0x70000006
-#define SHT_MIPS_OPTIONS 0x7000000d
-#define SHT_MIPS_DWARF 0x7000001e /* MIPS gcc uses MIPS_DWARF */
-#define SHT_HIPROC 0x7fffffff /* specific section header types */
-#define SHT_LOUSER 0x80000000 /* reserved range for application */
-#define SHT_HIUSER 0xffffffff /* specific indexes */
+#define SHT_NULL 0 /* inactive */
+#define SHT_PROGBITS 1 /* program defined information */
+#define SHT_SYMTAB 2 /* symbol table section */
+#define SHT_STRTAB 3 /* string table section */
+#define SHT_RELA 4 /* relocation section with addends */
+#define SHT_HASH 5 /* symbol hash table section */
+#define SHT_DYNAMIC 6 /* dynamic section */
+#define SHT_NOTE 7 /* note section */
+#define SHT_NOBITS 8 /* no space section */
+#define SHT_REL 9 /* relocation section - no addends */
+#define SHT_SHLIB 10 /* reserved - purpose unknown */
+#define SHT_DYNSYM 11 /* dynamic symbol table section */
+#define SHT_NUM 12 /* number of section types */
+#define SHT_LOOS 0x60000000 /* First of OS specific semantics */
+#define SHT_HIOS 0x6fffffff /* Last of OS specific semantics */
+#define SHT_LOPROC 0x70000000 /* reserved range for processor */
+#define SHT_HIPROC 0x7fffffff /* specific section header types */
+#define SHT_LOUSER 0x80000000 /* reserved range for application */
+#define SHT_HIUSER 0xffffffff /* specific indexes */
/* Flags for sh_flags. */
-#define SHF_WRITE 0x1 /* Section contains writable data. */
-#define SHF_ALLOC 0x2 /* Section occupies memory. */
-#define SHF_EXECINSTR 0x4 /* Section contains instructions. */
-#define SHF_MERGE 0x10 /* Section may be merged. */
-#define SHF_STRINGS 0x20 /* Section contains strings. */
-#define SHF_INFO_LINK 0x40 /* sh_info holds section index. */
-#define SHF_LINK_ORDER 0x80 /* Special ordering requirements. */
-#define SHF_OS_NONCONFORMING 0x100 /* OS-specific processing required. */
-#define SHF_GROUP 0x200 /* Member of section group. */
-#define SHF_TLS 0x400 /* Section contains TLS data. */
-#define SHF_MASKOS 0x0ff00000 /* OS-specific semantics. */
-#define SHF_MASKPROC 0xf0000000 /* Processor-specific semantics. */
+#define SHF_WRITE 0x1 /* Section contains writable data. */
+#define SHF_ALLOC 0x2 /* Section occupies memory. */
+#define SHF_EXECINSTR 0x4 /* Section contains instructions. */
+#define SHF_TLS 0x400 /* Section contains TLS data. */
+#define SHF_MASKPROC 0xf0000000 /* Reserved for processor-specific. */
/* Values for p_type. */
-#define PT_NULL 0 /* Unused entry. */
-#define PT_LOAD 1 /* Loadable segment. */
-#define PT_DYNAMIC 2 /* Dynamic linking information segment. */
-#define PT_INTERP 3 /* Pathname of interpreter. */
-#define PT_NOTE 4 /* Auxiliary information. */
-#define PT_SHLIB 5 /* Reserved (not used). */
-#define PT_PHDR 6 /* Location of program header itself. */
+#define PT_NULL 0 /* Unused entry. */
+#define PT_LOAD 1 /* Loadable segment. */
+#define PT_DYNAMIC 2 /* Dynamic linking information segment. */
+#define PT_INTERP 3 /* Pathname of interpreter. */
+#define PT_NOTE 4 /* Auxiliary information. */
+#define PT_SHLIB 5 /* Reserved (not used). */
+#define PT_PHDR 6 /* Location of program header itself. */
#define PT_TLS 7 /* Thread local storage segment */
-#define PT_LOOS 0x60000000 /* First OS-specific. */
-#define PT_SUNW_UNWIND 0x6464e550 /* amd64 UNWIND program header */
-#define PT_GNU_EH_FRAME 0x6474e550
-#define PT_GNU_STACK 0x6474e551
-#define PT_GNU_RELRO 0x6474e552
-#define PT_LOSUNW 0x6ffffffa
-#define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */
-#define PT_SUNWSTACK 0x6ffffffb /* describes the stack segment */
-#define PT_SUNWDTRACE 0x6ffffffc /* private */
-#define PT_SUNWCAP 0x6ffffffd /* hard/soft capabilities segment */
-#define PT_HISUNW 0x6fffffff
-#define PT_HIOS 0x6fffffff /* Last OS-specific. */
-#define PT_LOPROC 0x70000000 /* First processor-specific type. */
-#define PT_HIPROC 0x7fffffff /* Last processor-specific type. */
-/* Values for p_flags. */
-#define PF_X 0x1 /* Executable. */
-#define PF_W 0x2 /* Writable. */
-#define PF_R 0x4 /* Readable. */
-#define PF_MASKOS 0x0ff00000 /* Operating system-specific. */
-#define PF_MASKPROC 0xf0000000 /* Processor-specific. */
+#define PT_COUNT 8 /* Number of defined p_type values. */
-/* Extended program header index. */
-#define PN_XNUM 0xffff
+#define PT_LOOS 0x60000000 /* OS-specific */
+#define PT_HIOS 0x6fffffff /* OS-specific */
+#define PT_LOPROC 0x70000000 /* First processor-specific type. */
+#define PT_HIPROC 0x7fffffff /* Last processor-specific type. */
+
+/* Values for p_flags. */
+#define PF_X 0x1 /* Executable. */
+#define PF_W 0x2 /* Writable. */
+#define PF_R 0x4 /* Readable. */
/* Values for d_tag. */
-#define DT_NULL 0 /* Terminating entry. */
-#define DT_NEEDED 1 /* String table offset of a needed shared
+#define DT_NULL 0 /* Terminating entry. */
+#define DT_NEEDED 1 /* String table offset of a needed shared
library. */
-#define DT_PLTRELSZ 2 /* Total size in bytes of PLT relocations. */
-#define DT_PLTGOT 3 /* Processor-dependent address. */
-#define DT_HASH 4 /* Address of symbol hash table. */
-#define DT_STRTAB 5 /* Address of string table. */
-#define DT_SYMTAB 6 /* Address of symbol table. */
-#define DT_RELA 7 /* Address of ElfNN_Rela relocations. */
-#define DT_RELASZ 8 /* Total size of ElfNN_Rela relocations. */
-#define DT_RELAENT 9 /* Size of each ElfNN_Rela relocation entry. */
-#define DT_STRSZ 10 /* Size of string table. */
-#define DT_SYMENT 11 /* Size of each symbol table entry. */
-#define DT_INIT 12 /* Address of initialization function. */
-#define DT_FINI 13 /* Address of finalization function. */
-#define DT_SONAME 14 /* String table offset of shared object
+#define DT_PLTRELSZ 2 /* Total size in bytes of PLT relocations. */
+#define DT_PLTGOT 3 /* Processor-dependent address. */
+#define DT_HASH 4 /* Address of symbol hash table. */
+#define DT_STRTAB 5 /* Address of string table. */
+#define DT_SYMTAB 6 /* Address of symbol table. */
+#define DT_RELA 7 /* Address of ElfNN_Rela relocations. */
+#define DT_RELASZ 8 /* Total size of ElfNN_Rela relocations. */
+#define DT_RELAENT 9 /* Size of each ElfNN_Rela relocation entry. */
+#define DT_STRSZ 10 /* Size of string table. */
+#define DT_SYMENT 11 /* Size of each symbol table entry. */
+#define DT_INIT 12 /* Address of initialization function. */
+#define DT_FINI 13 /* Address of finalization function. */
+#define DT_SONAME 14 /* String table offset of shared object
name. */
-#define DT_RPATH 15 /* String table offset of library path. [sup] */
-#define DT_SYMBOLIC 16 /* Indicates "symbolic" linking. [sup] */
-#define DT_REL 17 /* Address of ElfNN_Rel relocations. */
-#define DT_RELSZ 18 /* Total size of ElfNN_Rel relocations. */
-#define DT_RELENT 19 /* Size of each ElfNN_Rel relocation. */
-#define DT_PLTREL 20 /* Type of relocation used for PLT. */
-#define DT_DEBUG 21 /* Reserved (not used). */
-#define DT_TEXTREL 22 /* Indicates there may be relocations in
+#define DT_RPATH 15 /* String table offset of library path. [sup] */
+#define DT_SYMBOLIC 16 /* Indicates "symbolic" linking. [sup] */
+#define DT_REL 17 /* Address of ElfNN_Rel relocations. */
+#define DT_RELSZ 18 /* Total size of ElfNN_Rel relocations. */
+#define DT_RELENT 19 /* Size of each ElfNN_Rel relocation. */
+#define DT_PLTREL 20 /* Type of relocation used for PLT. */
+#define DT_DEBUG 21 /* Reserved (not used). */
+#define DT_TEXTREL 22 /* Indicates there may be relocations in
non-writable segments. [sup] */
-#define DT_JMPREL 23 /* Address of PLT relocations. */
+#define DT_JMPREL 23 /* Address of PLT relocations. */
#define DT_BIND_NOW 24 /* [sup] */
#define DT_INIT_ARRAY 25 /* Address of the array of pointers to
initialization functions */
@@ -387,75 +235,25 @@ typedef struct {
#define DT_INIT_ARRAYSZ 27 /* Size in bytes of the array of
initialization functions. */
#define DT_FINI_ARRAYSZ 28 /* Size in bytes of the array of
- termination functions. */
+ terminationfunctions. */
#define DT_RUNPATH 29 /* String table offset of a null-terminated
library search path string. */
#define DT_FLAGS 30 /* Object specific flag values. */
#define DT_ENCODING 32 /* Values greater than or equal to DT_ENCODING
and less than DT_LOOS follow the rules for
the interpretation of the d_un union
- as follows: even == 'd_ptr', odd == 'd_val'
+ as follows: even == 'd_ptr', even == 'd_val'
or none */
#define DT_PREINIT_ARRAY 32 /* Address of the array of pointers to
pre-initialization functions. */
#define DT_PREINIT_ARRAYSZ 33 /* Size in bytes of the array of
pre-initialization functions. */
-#define DT_MAXPOSTAGS 34 /* number of positive tags */
-#define DT_LOOS 0x6000000d /* First OS-specific */
-#define DT_SUNW_AUXILIARY 0x6000000d /* symbol auxiliary name */
-#define DT_SUNW_RTLDINF 0x6000000e /* ld.so.1 info (private) */
-#define DT_SUNW_FILTER 0x6000000f /* symbol filter name */
-#define DT_SUNW_CAP 0x60000010 /* hardware/software */
-#define DT_HIOS 0x6ffff000 /* Last OS-specific */
-
-/*
- * DT_* entries which fall between DT_VALRNGHI & DT_VALRNGLO use the
- * Dyn.d_un.d_val field of the Elf*_Dyn structure.
- */
-#define DT_VALRNGLO 0x6ffffd00
-#define DT_CHECKSUM 0x6ffffdf8 /* elf checksum */
-#define DT_PLTPADSZ 0x6ffffdf9 /* pltpadding size */
-#define DT_MOVEENT 0x6ffffdfa /* move table entry size */
-#define DT_MOVESZ 0x6ffffdfb /* move table size */
-#define DT_FEATURE_1 0x6ffffdfc /* feature holder */
-#define DT_POSFLAG_1 0x6ffffdfd /* flags for DT_* entries, effecting */
- /* the following DT_* entry. */
- /* See DF_P1_* definitions */
-#define DT_SYMINSZ 0x6ffffdfe /* syminfo table size (in bytes) */
-#define DT_SYMINENT 0x6ffffdff /* syminfo entry size (in bytes) */
-#define DT_VALRNGHI 0x6ffffdff
-
-/*
- * DT_* entries which fall between DT_ADDRRNGHI & DT_ADDRRNGLO use the
- * Dyn.d_un.d_ptr field of the Elf*_Dyn structure.
- *
- * If any adjustment is made to the ELF object after it has been
- * built, these entries will need to be adjusted.
- */
-#define DT_ADDRRNGLO 0x6ffffe00
-#define DT_GNU_HASH 0x6ffffef5 /* GNU-style hash table */
-#define DT_CONFIG 0x6ffffefa /* configuration information */
-#define DT_DEPAUDIT 0x6ffffefb /* dependency auditing */
-#define DT_AUDIT 0x6ffffefc /* object auditing */
-#define DT_PLTPAD 0x6ffffefd /* pltpadding (sparcv9) */
-#define DT_MOVETAB 0x6ffffefe /* move table */
-#define DT_SYMINFO 0x6ffffeff /* syminfo table */
-#define DT_ADDRRNGHI 0x6ffffeff
-#define DT_VERSYM 0x6ffffff0 /* Address of versym section. */
-#define DT_RELACOUNT 0x6ffffff9 /* number of RELATIVE relocations */
-#define DT_RELCOUNT 0x6ffffffa /* number of RELATIVE relocations */
-#define DT_FLAGS_1 0x6ffffffb /* state flags - see DF_1_* defs */
-#define DT_VERDEF 0x6ffffffc /* Address of verdef section. */
-#define DT_VERDEFNUM 0x6ffffffd /* Number of elems in verdef section */
-#define DT_VERNEED 0x6ffffffe /* Address of verneed section. */
-#define DT_VERNEEDNUM 0x6fffffff /* Number of elems in verneed section */
+#define DT_COUNT 33 /* Number of defined d_tag values. */
+#define DT_LOOS 0x6000000d /* First OS-specific */
+#define DT_HIOS 0x6fff0000 /* Last OS-specific */
#define DT_LOPROC 0x70000000 /* First processor-specific type. */
-#define DT_DEPRECATED_SPARC_REGISTER 0x7000001
-#define DT_AUXILIARY 0x7ffffffd /* shared library auxiliary name */
-#define DT_USED 0x7ffffffe /* ignored - same as needed */
-#define DT_FILTER 0x7fffffff /* shared library filter name */
#define DT_HIPROC 0x7fffffff /* Last processor-specific type. */
/* Values for DT_FLAGS */
@@ -473,638 +271,29 @@ typedef struct {
executable contains code using a static
thread-local storage scheme. */
-/* Values for DT_FLAGS_1 */
-#define DF_1_BIND_NOW 0x00000001 /* Same as DF_BIND_NOW */
-#define DF_1_GLOBAL 0x00000002 /* Set the RTLD_GLOBAL for object */
-#define DF_1_NODELETE 0x00000008 /* Set the RTLD_NODELETE for object */
-#define DF_1_LOADFLTR 0x00000010 /* Immediate loading of filtees */
-#define DF_1_NOOPEN 0x00000040 /* Do not allow loading on dlopen() */
-#define DF_1_ORIGIN 0x00000080 /* Process $ORIGIN */
-#define DF_1_NODEFLIB 0x00000800 /* Do not search default paths */
-
/* Values for n_type. Used in core files. */
-#define NT_PRSTATUS 1 /* Process status. */
-#define NT_FPREGSET 2 /* Floating point registers. */
-#define NT_PRPSINFO 3 /* Process state info. */
-#define NT_THRMISC 7 /* Thread miscellaneous info. */
+#define NT_PRSTATUS 1 /* Process status. */
+#define NT_FPREGSET 2 /* Floating point registers. */
+#define NT_PRPSINFO 3 /* Process state info. */
/* Symbol Binding - ELFNN_ST_BIND - st_info */
-#define STB_LOCAL 0 /* Local symbol */
-#define STB_GLOBAL 1 /* Global symbol */
-#define STB_WEAK 2 /* like global - lower precedence */
-#define STB_LOOS 10 /* Reserved range for operating system */
-#define STB_HIOS 12 /* specific semantics. */
-#define STB_LOPROC 13 /* reserved range for processor */
-#define STB_HIPROC 15 /* specific semantics. */
+#define STB_LOCAL 0 /* Local symbol */
+#define STB_GLOBAL 1 /* Global symbol */
+#define STB_WEAK 2 /* like global - lower precedence */
+#define STB_LOPROC 13 /* reserved range for processor */
+#define STB_HIPROC 15 /* specific symbol bindings */
/* Symbol type - ELFNN_ST_TYPE - st_info */
-#define STT_NOTYPE 0 /* Unspecified type. */
-#define STT_OBJECT 1 /* Data object. */
-#define STT_FUNC 2 /* Function. */
-#define STT_SECTION 3 /* Section. */
-#define STT_FILE 4 /* Source file. */
-#define STT_COMMON 5 /* Uninitialized common block. */
-#define STT_TLS 6 /* TLS object. */
-#define STT_NUM 7
-#define STT_LOOS 10 /* Reserved range for operating system */
-#define STT_GNU_IFUNC 10
-#define STT_HIOS 12 /* specific semantics. */
-#define STT_LOPROC 13 /* reserved range for processor */
-#define STT_HIPROC 15 /* specific semantics. */
-
-/* Symbol visibility - ELFNN_ST_VISIBILITY - st_other */
-#define STV_DEFAULT 0x0 /* Default visibility (see binding). */
-#define STV_INTERNAL 0x1 /* Special meaning in relocatable objects. */
-#define STV_HIDDEN 0x2 /* Not visible. */
-#define STV_PROTECTED 0x3 /* Visible but not preemptible. */
-#define STV_EXPORTED 0x4
-#define STV_SINGLETON 0x5
-#define STV_ELIMINATE 0x6
+#define STT_NOTYPE 0 /* Unspecified type. */
+#define STT_OBJECT 1 /* Data object. */
+#define STT_FUNC 2 /* Function. */
+#define STT_SECTION 3 /* Section. */
+#define STT_FILE 4 /* Source file. */
+#define STT_TLS 6 /* TLS object. */
+#define STT_LOPROC 13 /* reserved range for processor */
+#define STT_HIPROC 15 /* specific symbol types */
/* Special symbol table indexes. */
-#define STN_UNDEF 0 /* Undefined symbol index. */
-
-/* Symbol versioning flags. */
-#define VER_DEF_CURRENT 1
-#define VER_DEF_IDX(x) VER_NDX(x)
-
-#define VER_FLG_BASE 0x01
-#define VER_FLG_WEAK 0x02
-
-#define VER_NEED_CURRENT 1
-#define VER_NEED_WEAK (1u << 15)
-#define VER_NEED_HIDDEN VER_NDX_HIDDEN
-#define VER_NEED_IDX(x) VER_NDX(x)
-
-#define VER_NDX_LOCAL 0
-#define VER_NDX_GLOBAL 1
-#define VER_NDX_GIVEN 2
-
-#define VER_NDX_HIDDEN (1u << 15)
-#define VER_NDX(x) ((x) & ~(1u << 15))
-
-#define CA_SUNW_NULL 0
-#define CA_SUNW_HW_1 1 /* first hardware capabilities entry */
-#define CA_SUNW_SF_1 2 /* first software capabilities entry */
-
-/*
- * Syminfo flag values
- */
-#define SYMINFO_FLG_DIRECT 0x0001 /* symbol ref has direct association */
- /* to object containing defn. */
-#define SYMINFO_FLG_PASSTHRU 0x0002 /* ignored - see SYMINFO_FLG_FILTER */
-#define SYMINFO_FLG_COPY 0x0004 /* symbol is a copy-reloc */
-#define SYMINFO_FLG_LAZYLOAD 0x0008 /* object containing defn should be */
- /* lazily-loaded */
-#define SYMINFO_FLG_DIRECTBIND 0x0010 /* ref should be bound directly to */
- /* object containing defn. */
-#define SYMINFO_FLG_NOEXTDIRECT 0x0020 /* don't let an external reference */
- /* directly bind to this symbol */
-#define SYMINFO_FLG_FILTER 0x0002 /* symbol ref is associated to a */
-#define SYMINFO_FLG_AUXILIARY 0x0040 /* standard or auxiliary filter */
-
-/*
- * Syminfo.si_boundto values.
- */
-#define SYMINFO_BT_SELF 0xffff /* symbol bound to self */
-#define SYMINFO_BT_PARENT 0xfffe /* symbol bound to parent */
-#define SYMINFO_BT_NONE 0xfffd /* no special symbol binding */
-#define SYMINFO_BT_EXTERN 0xfffc /* symbol defined as external */
-#define SYMINFO_BT_LOWRESERVE 0xff00 /* beginning of reserved entries */
-
-/*
- * Syminfo version values.
- */
-#define SYMINFO_NONE 0 /* Syminfo version */
-#define SYMINFO_CURRENT 1
-#define SYMINFO_NUM 2
-
-/*
- * Relocation types.
- *
- * All machine architectures are defined here to allow tools on one to
- * handle others.
- */
-
-#define R_386_NONE 0 /* No relocation. */
-#define R_386_32 1 /* Add symbol value. */
-#define R_386_PC32 2 /* Add PC-relative symbol value. */
-#define R_386_GOT32 3 /* Add PC-relative GOT offset. */
-#define R_386_PLT32 4 /* Add PC-relative PLT offset. */
-#define R_386_COPY 5 /* Copy data from shared object. */
-#define R_386_GLOB_DAT 6 /* Set GOT entry to data address. */
-#define R_386_JMP_SLOT 7 /* Set GOT entry to code address. */
-#define R_386_RELATIVE 8 /* Add load address of shared object. */
-#define R_386_GOTOFF 9 /* Add GOT-relative symbol address. */
-#define R_386_GOTPC 10 /* Add PC-relative GOT table address. */
-#define R_386_TLS_TPOFF 14 /* Negative offset in static TLS block */
-#define R_386_TLS_IE 15 /* Absolute address of GOT for -ve static TLS */
-#define R_386_TLS_GOTIE 16 /* GOT entry for negative static TLS block */
-#define R_386_TLS_LE 17 /* Negative offset relative to static TLS */
-#define R_386_TLS_GD 18 /* 32 bit offset to GOT (index,off) pair */
-#define R_386_TLS_LDM 19 /* 32 bit offset to GOT (index,zero) pair */
-#define R_386_16 20
-#define R_386_PC16 21
-#define R_386_8 22
-#define R_386_PC8 23
-#define R_386_TLS_GD_32 24 /* 32 bit offset to GOT (index,off) pair */
-#define R_386_TLS_GD_PUSH 25 /* pushl instruction for Sun ABI GD sequence */
-#define R_386_TLS_GD_CALL 26 /* call instruction for Sun ABI GD sequence */
-#define R_386_TLS_GD_POP 27 /* popl instruction for Sun ABI GD sequence */
-#define R_386_TLS_LDM_32 28 /* 32 bit offset to GOT (index,zero) pair */
-#define R_386_TLS_LDM_PUSH 29 /* pushl instruction for Sun ABI LD sequence */
-#define R_386_TLS_LDM_CALL 30 /* call instruction for Sun ABI LD sequence */
-#define R_386_TLS_LDM_POP 31 /* popl instruction for Sun ABI LD sequence */
-#define R_386_TLS_LDO_32 32 /* 32 bit offset from start of TLS block */
-#define R_386_TLS_IE_32 33 /* 32 bit offset to GOT static TLS offset entry */
-#define R_386_TLS_LE_32 34 /* 32 bit offset within static TLS block */
-#define R_386_TLS_DTPMOD32 35 /* GOT entry containing TLS index */
-#define R_386_TLS_DTPOFF32 36 /* GOT entry containing TLS offset */
-#define R_386_TLS_TPOFF32 37 /* GOT entry of -ve static TLS offset */
-#define R_386_IRELATIVE 42 /* PLT entry resolved indirectly at runtime */
-
-#define R_ARM_NONE 0 /* No relocation. */
-#define R_ARM_PC24 1
-#define R_ARM_ABS32 2
-#define R_ARM_REL32 3
-#define R_ARM_PC13 4
-#define R_ARM_ABS16 5
-#define R_ARM_ABS12 6
-#define R_ARM_THM_ABS5 7
-#define R_ARM_ABS8 8
-#define R_ARM_SBREL32 9
-#define R_ARM_THM_PC22 10
-#define R_ARM_THM_PC8 11
-#define R_ARM_AMP_VCALL9 12
-#define R_ARM_SWI24 13
-#define R_ARM_THM_SWI8 14
-#define R_ARM_XPC25 15
-#define R_ARM_THM_XPC22 16
-/* TLS relocations */
-#define R_ARM_TLS_DTPMOD32 17 /* ID of module containing symbol */
-#define R_ARM_TLS_DTPOFF32 18 /* Offset in TLS block */
-#define R_ARM_TLS_TPOFF32 19 /* Offset in static TLS block */
-#define R_ARM_COPY 20 /* Copy data from shared object. */
-#define R_ARM_GLOB_DAT 21 /* Set GOT entry to data address. */
-#define R_ARM_JUMP_SLOT 22 /* Set GOT entry to code address. */
-#define R_ARM_RELATIVE 23 /* Add load address of shared object. */
-#define R_ARM_GOTOFF 24 /* Add GOT-relative symbol address. */
-#define R_ARM_GOTPC 25 /* Add PC-relative GOT table address. */
-#define R_ARM_GOT32 26 /* Add PC-relative GOT offset. */
-#define R_ARM_PLT32 27 /* Add PC-relative PLT offset. */
-#define R_ARM_GNU_VTENTRY 100
-#define R_ARM_GNU_VTINHERIT 101
-#define R_ARM_RSBREL32 250
-#define R_ARM_THM_RPC22 251
-#define R_ARM_RREL32 252
-#define R_ARM_RABS32 253
-#define R_ARM_RPC24 254
-#define R_ARM_RBASE 255
-
-/* Name Value Field Calculation */
-#define R_IA_64_NONE 0 /* None */
-#define R_IA_64_IMM14 0x21 /* immediate14 S + A */
-#define R_IA_64_IMM22 0x22 /* immediate22 S + A */
-#define R_IA_64_IMM64 0x23 /* immediate64 S + A */
-#define R_IA_64_DIR32MSB 0x24 /* word32 MSB S + A */
-#define R_IA_64_DIR32LSB 0x25 /* word32 LSB S + A */
-#define R_IA_64_DIR64MSB 0x26 /* word64 MSB S + A */
-#define R_IA_64_DIR64LSB 0x27 /* word64 LSB S + A */
-#define R_IA_64_GPREL22 0x2a /* immediate22 @gprel(S + A) */
-#define R_IA_64_GPREL64I 0x2b /* immediate64 @gprel(S + A) */
-#define R_IA_64_GPREL32MSB 0x2c /* word32 MSB @gprel(S + A) */
-#define R_IA_64_GPREL32LSB 0x2d /* word32 LSB @gprel(S + A) */
-#define R_IA_64_GPREL64MSB 0x2e /* word64 MSB @gprel(S + A) */
-#define R_IA_64_GPREL64LSB 0x2f /* word64 LSB @gprel(S + A) */
-#define R_IA_64_LTOFF22 0x32 /* immediate22 @ltoff(S + A) */
-#define R_IA_64_LTOFF64I 0x33 /* immediate64 @ltoff(S + A) */
-#define R_IA_64_PLTOFF22 0x3a /* immediate22 @pltoff(S + A) */
-#define R_IA_64_PLTOFF64I 0x3b /* immediate64 @pltoff(S + A) */
-#define R_IA_64_PLTOFF64MSB 0x3e /* word64 MSB @pltoff(S + A) */
-#define R_IA_64_PLTOFF64LSB 0x3f /* word64 LSB @pltoff(S + A) */
-#define R_IA_64_FPTR64I 0x43 /* immediate64 @fptr(S + A) */
-#define R_IA_64_FPTR32MSB 0x44 /* word32 MSB @fptr(S + A) */
-#define R_IA_64_FPTR32LSB 0x45 /* word32 LSB @fptr(S + A) */
-#define R_IA_64_FPTR64MSB 0x46 /* word64 MSB @fptr(S + A) */
-#define R_IA_64_FPTR64LSB 0x47 /* word64 LSB @fptr(S + A) */
-#define R_IA_64_PCREL60B 0x48 /* immediate60 form1 S + A - P */
-#define R_IA_64_PCREL21B 0x49 /* immediate21 form1 S + A - P */
-#define R_IA_64_PCREL21M 0x4a /* immediate21 form2 S + A - P */
-#define R_IA_64_PCREL21F 0x4b /* immediate21 form3 S + A - P */
-#define R_IA_64_PCREL32MSB 0x4c /* word32 MSB S + A - P */
-#define R_IA_64_PCREL32LSB 0x4d /* word32 LSB S + A - P */
-#define R_IA_64_PCREL64MSB 0x4e /* word64 MSB S + A - P */
-#define R_IA_64_PCREL64LSB 0x4f /* word64 LSB S + A - P */
-#define R_IA_64_LTOFF_FPTR22 0x52 /* immediate22 @ltoff(@fptr(S + A)) */
-#define R_IA_64_LTOFF_FPTR64I 0x53 /* immediate64 @ltoff(@fptr(S + A)) */
-#define R_IA_64_LTOFF_FPTR32MSB 0x54 /* word32 MSB @ltoff(@fptr(S + A)) */
-#define R_IA_64_LTOFF_FPTR32LSB 0x55 /* word32 LSB @ltoff(@fptr(S + A)) */
-#define R_IA_64_LTOFF_FPTR64MSB 0x56 /* word64 MSB @ltoff(@fptr(S + A)) */
-#define R_IA_64_LTOFF_FPTR64LSB 0x57 /* word64 LSB @ltoff(@fptr(S + A)) */
-#define R_IA_64_SEGREL32MSB 0x5c /* word32 MSB @segrel(S + A) */
-#define R_IA_64_SEGREL32LSB 0x5d /* word32 LSB @segrel(S + A) */
-#define R_IA_64_SEGREL64MSB 0x5e /* word64 MSB @segrel(S + A) */
-#define R_IA_64_SEGREL64LSB 0x5f /* word64 LSB @segrel(S + A) */
-#define R_IA_64_SECREL32MSB 0x64 /* word32 MSB @secrel(S + A) */
-#define R_IA_64_SECREL32LSB 0x65 /* word32 LSB @secrel(S + A) */
-#define R_IA_64_SECREL64MSB 0x66 /* word64 MSB @secrel(S + A) */
-#define R_IA_64_SECREL64LSB 0x67 /* word64 LSB @secrel(S + A) */
-#define R_IA_64_REL32MSB 0x6c /* word32 MSB BD + A */
-#define R_IA_64_REL32LSB 0x6d /* word32 LSB BD + A */
-#define R_IA_64_REL64MSB 0x6e /* word64 MSB BD + A */
-#define R_IA_64_REL64LSB 0x6f /* word64 LSB BD + A */
-#define R_IA_64_LTV32MSB 0x74 /* word32 MSB S + A */
-#define R_IA_64_LTV32LSB 0x75 /* word32 LSB S + A */
-#define R_IA_64_LTV64MSB 0x76 /* word64 MSB S + A */
-#define R_IA_64_LTV64LSB 0x77 /* word64 LSB S + A */
-#define R_IA_64_PCREL21BI 0x79 /* immediate21 form1 S + A - P */
-#define R_IA_64_PCREL22 0x7a /* immediate22 S + A - P */
-#define R_IA_64_PCREL64I 0x7b /* immediate64 S + A - P */
-#define R_IA_64_IPLTMSB 0x80 /* function descriptor MSB special */
-#define R_IA_64_IPLTLSB 0x81 /* function descriptor LSB speciaal */
-#define R_IA_64_SUB 0x85 /* immediate64 A - S */
-#define R_IA_64_LTOFF22X 0x86 /* immediate22 special */
-#define R_IA_64_LDXMOV 0x87 /* immediate22 special */
-#define R_IA_64_TPREL14 0x91 /* imm14 @tprel(S + A) */
-#define R_IA_64_TPREL22 0x92 /* imm22 @tprel(S + A) */
-#define R_IA_64_TPREL64I 0x93 /* imm64 @tprel(S + A) */
-#define R_IA_64_TPREL64MSB 0x96 /* word64 MSB @tprel(S + A) */
-#define R_IA_64_TPREL64LSB 0x97 /* word64 LSB @tprel(S + A) */
-#define R_IA_64_LTOFF_TPREL22 0x9a /* imm22 @ltoff(@tprel(S+A)) */
-#define R_IA_64_DTPMOD64MSB 0xa6 /* word64 MSB @dtpmod(S + A) */
-#define R_IA_64_DTPMOD64LSB 0xa7 /* word64 LSB @dtpmod(S + A) */
-#define R_IA_64_LTOFF_DTPMOD22 0xaa /* imm22 @ltoff(@dtpmod(S+A)) */
-#define R_IA_64_DTPREL14 0xb1 /* imm14 @dtprel(S + A) */
-#define R_IA_64_DTPREL22 0xb2 /* imm22 @dtprel(S + A) */
-#define R_IA_64_DTPREL64I 0xb3 /* imm64 @dtprel(S + A) */
-#define R_IA_64_DTPREL32MSB 0xb4 /* word32 MSB @dtprel(S + A) */
-#define R_IA_64_DTPREL32LSB 0xb5 /* word32 LSB @dtprel(S + A) */
-#define R_IA_64_DTPREL64MSB 0xb6 /* word64 MSB @dtprel(S + A) */
-#define R_IA_64_DTPREL64LSB 0xb7 /* word64 LSB @dtprel(S + A) */
-#define R_IA_64_LTOFF_DTPREL22 0xba /* imm22 @ltoff(@dtprel(S+A)) */
-
-/* Linux style aliases */
-#define R_IA64_NONE R_IA_64_NONE
-#define R_IA64_IMM14 R_IA_64_IMM14
-#define R_IA64_IMM22 R_IA_64_IMM22
-#define R_IA64_IMM64 R_IA_64_IMM64
-#define R_IA64_DIR32MSB R_IA_64_DIR32MSB
-#define R_IA64_DIR32LSB R_IA_64_DIR32LSB
-#define R_IA64_DIR64MSB R_IA_64_DIR64MSB
-#define R_IA64_DIR64LSB R_IA_64_DIR64LSB
-#define R_IA64_GPREL22 R_IA_64_GPREL22
-#define R_IA64_GPREL64I R_IA_64_GPREL64I
-#define R_IA64_GPREL32MSB R_IA_64_GPREL32MSB
-#define R_IA64_GPREL32LSB R_IA_64_GPREL32LSB
-#define R_IA64_GPREL64MSB R_IA_64_GPREL64MSB
-#define R_IA64_GPREL64LSB R_IA_64_GPREL64LSB
-#define R_IA64_LTOFF22 R_IA_64_LTOFF22
-#define R_IA64_LTOFF64I R_IA_64_LTOFF64I
-#define R_IA64_PLTOFF22 R_IA_64_PLTOFF22
-#define R_IA64_PLTOFF64I R_IA_64_PLTOFF64I
-#define R_IA64_PLTOFF64MSB R_IA_64_PLTOFF64MSB
-#define R_IA64_PLTOFF64LSB R_IA_64_PLTOFF64LSB
-#define R_IA64_FPTR64I R_IA_64_FPTR64I
-#define R_IA64_FPTR32MSB R_IA_64_FPTR32MSB
-#define R_IA64_FPTR32LSB R_IA_64_FPTR32LSB
-#define R_IA64_FPTR64MSB R_IA_64_FPTR64MSB
-#define R_IA64_FPTR64LSB R_IA_64_FPTR64LSB
-#define R_IA64_PCREL60B R_IA_64_PCREL60B
-#define R_IA64_PCREL21B R_IA_64_PCREL21B
-#define R_IA64_PCREL21M R_IA_64_PCREL21M
-#define R_IA64_PCREL21F R_IA_64_PCREL21F
-#define R_IA64_PCREL32MSB R_IA_64_PCREL32MSB
-#define R_IA64_PCREL32LSB R_IA_64_PCREL32LSB
-#define R_IA64_PCREL64MSB R_IA_64_PCREL64MSB
-#define R_IA64_PCREL64LSB R_IA_64_PCREL64LSB
-#define R_IA64_LTOFF_FPTR22 R_IA_64_LTOFF_FPTR22
-#define R_IA64_LTOFF_FPTR64I R_IA_64_LTOFF_FPTR64I
-#define R_IA64_LTOFF_FPTR32MSB R_IA_64_LTOFF_FPTR32MSB
-#define R_IA64_LTOFF_FPTR32LSB R_IA_64_LTOFF_FPTR32LSB
-#define R_IA64_LTOFF_FPTR64MSB R_IA_64_LTOFF_FPTR64MSB
-#define R_IA64_LTOFF_FPTR64LSB R_IA_64_LTOFF_FPTR64LSB
-#define R_IA64_SEGREL32MSB R_IA_64_SEGREL32MSB
-#define R_IA64_SEGREL32LSB R_IA_64_SEGREL32LSB
-#define R_IA64_SEGREL64MSB R_IA_64_SEGREL64MSB
-#define R_IA64_SEGREL64LSB R_IA_64_SEGREL64LSB
-#define R_IA64_SECREL32MSB R_IA_64_SECREL32MSB
-#define R_IA64_SECREL32LSB R_IA_64_SECREL32LSB
-#define R_IA64_SECREL64MSB R_IA_64_SECREL64MSB
-#define R_IA64_SECREL64LSB R_IA_64_SECREL64LSB
-#define R_IA64_REL32MSB R_IA_64_REL32MSB
-#define R_IA64_REL32LSB R_IA_64_REL32LSB
-#define R_IA64_REL64MSB R_IA_64_REL64MSB
-#define R_IA64_REL64LSB R_IA_64_REL64LSB
-#define R_IA64_LTV32MSB R_IA_64_LTV32MSB
-#define R_IA64_LTV32LSB R_IA_64_LTV32LSB
-#define R_IA64_LTV64MSB R_IA_64_LTV64MSB
-#define R_IA64_LTV64LSB R_IA_64_LTV64LSB
-#define R_IA64_PCREL21BI R_IA_64_PCREL21BI
-#define R_IA64_PCREL22 R_IA_64_PCREL22
-#define R_IA64_PCREL64I R_IA_64_PCREL64I
-#define R_IA64_IPLTMSB R_IA_64_IPLTMSB
-#define R_IA64_IPLTLSB R_IA_64_IPLTLSB
-#define R_IA64_SUB R_IA_64_SUB
-#define R_IA64_LTOFF22X R_IA_64_LTOFF22X
-#define R_IA64_LDXMOV R_IA_64_LDXMOV
-#define R_IA64_TPREL14 R_IA_64_TPREL14
-#define R_IA64_TPREL22 R_IA_64_TPREL22
-#define R_IA64_TPREL64I R_IA_64_TPREL64I
-#define R_IA64_TPREL64MSB R_IA_64_TPREL64MSB
-#define R_IA64_TPREL64LSB R_IA_64_TPREL64LSB
-#define R_IA64_LTOFF_TPREL22 R_IA_64_LTOFF_TPREL22
-#define R_IA64_DTPMOD64MSB R_IA_64_DTPMOD64MSB
-#define R_IA64_DTPMOD64LSB R_IA_64_DTPMOD64LSB
-#define R_IA64_LTOFF_DTPMOD22 R_IA_64_LTOFF_DTPMOD22
-#define R_IA64_DTPREL14 R_IA_64_DTPREL14
-#define R_IA64_DTPREL22 R_IA_64_DTPREL22
-#define R_IA64_DTPREL64I R_IA_64_DTPREL64I
-#define R_IA64_DTPREL32MSB R_IA_64_DTPREL32MSB
-#define R_IA64_DTPREL32LSB R_IA_64_DTPREL32LSB
-#define R_IA64_DTPREL64MSB R_IA_64_DTPREL64MSB
-#define R_IA64_DTPREL64LSB R_IA_64_DTPREL64LSB
-#define R_IA64_LTOFF_DTPREL22 R_IA_64_LTOFF_DTPREL22
-
-#define R_MIPS_NONE 0 /* No reloc */
-#define R_MIPS_16 1 /* Direct 16 bit */
-#define R_MIPS_32 2 /* Direct 32 bit */
-#define R_MIPS_REL32 3 /* PC relative 32 bit */
-#define R_MIPS_26 4 /* Direct 26 bit shifted */
-#define R_MIPS_HI16 5 /* High 16 bit */
-#define R_MIPS_LO16 6 /* Low 16 bit */
-#define R_MIPS_GPREL16 7 /* GP relative 16 bit */
-#define R_MIPS_LITERAL 8 /* 16 bit literal entry */
-#define R_MIPS_GOT16 9 /* 16 bit GOT entry */
-#define R_MIPS_PC16 10 /* PC relative 16 bit */
-#define R_MIPS_CALL16 11 /* 16 bit GOT entry for function */
-#define R_MIPS_GPREL32 12 /* GP relative 32 bit */
-#define R_MIPS_64 18 /* Direct 64 bit */
-#define R_MIPS_GOTHI16 21 /* GOT HI 16 bit */
-#define R_MIPS_GOTLO16 22 /* GOT LO 16 bit */
-#define R_MIPS_CALLHI16 30 /* upper 16 bit GOT entry for function */
-#define R_MIPS_CALLLO16 31 /* lower 16 bit GOT entry for function */
-
-#define R_PPC_NONE 0 /* No relocation. */
-#define R_PPC_ADDR32 1
-#define R_PPC_ADDR24 2
-#define R_PPC_ADDR16 3
-#define R_PPC_ADDR16_LO 4
-#define R_PPC_ADDR16_HI 5
-#define R_PPC_ADDR16_HA 6
-#define R_PPC_ADDR14 7
-#define R_PPC_ADDR14_BRTAKEN 8
-#define R_PPC_ADDR14_BRNTAKEN 9
-#define R_PPC_REL24 10
-#define R_PPC_REL14 11
-#define R_PPC_REL14_BRTAKEN 12
-#define R_PPC_REL14_BRNTAKEN 13
-#define R_PPC_GOT16 14
-#define R_PPC_GOT16_LO 15
-#define R_PPC_GOT16_HI 16
-#define R_PPC_GOT16_HA 17
-#define R_PPC_PLTREL24 18
-#define R_PPC_COPY 19
-#define R_PPC_GLOB_DAT 20
-#define R_PPC_JMP_SLOT 21
-#define R_PPC_RELATIVE 22
-#define R_PPC_LOCAL24PC 23
-#define R_PPC_UADDR32 24
-#define R_PPC_UADDR16 25
-#define R_PPC_REL32 26
-#define R_PPC_PLT32 27
-#define R_PPC_PLTREL32 28
-#define R_PPC_PLT16_LO 29
-#define R_PPC_PLT16_HI 30
-#define R_PPC_PLT16_HA 31
-#define R_PPC_SDAREL16 32
-#define R_PPC_SECTOFF 33
-#define R_PPC_SECTOFF_LO 34
-#define R_PPC_SECTOFF_HI 35
-#define R_PPC_SECTOFF_HA 36
-
-/*
- * 64-bit relocations
- */
-#define R_PPC64_ADDR64 38
-#define R_PPC64_ADDR16_HIGHER 39
-#define R_PPC64_ADDR16_HIGHERA 40
-#define R_PPC64_ADDR16_HIGHEST 41
-#define R_PPC64_ADDR16_HIGHESTA 42
-#define R_PPC64_UADDR64 43
-#define R_PPC64_REL64 44
-#define R_PPC64_PLT64 45
-#define R_PPC64_PLTREL64 46
-#define R_PPC64_TOC16 47
-#define R_PPC64_TOC16_LO 48
-#define R_PPC64_TOC16_HI 49
-#define R_PPC64_TOC16_HA 50
-#define R_PPC64_TOC 51
-#define R_PPC64_DTPMOD64 68
-#define R_PPC64_TPREL64 73
-#define R_PPC64_DTPREL64 78
-
-/*
- * TLS relocations
- */
-#define R_PPC_TLS 67
-#define R_PPC_DTPMOD32 68
-#define R_PPC_TPREL16 69
-#define R_PPC_TPREL16_LO 70
-#define R_PPC_TPREL16_HI 71
-#define R_PPC_TPREL16_HA 72
-#define R_PPC_TPREL32 73
-#define R_PPC_DTPREL16 74
-#define R_PPC_DTPREL16_LO 75
-#define R_PPC_DTPREL16_HI 76
-#define R_PPC_DTPREL16_HA 77
-#define R_PPC_DTPREL32 78
-#define R_PPC_GOT_TLSGD16 79
-#define R_PPC_GOT_TLSGD16_LO 80
-#define R_PPC_GOT_TLSGD16_HI 81
-#define R_PPC_GOT_TLSGD16_HA 82
-#define R_PPC_GOT_TLSLD16 83
-#define R_PPC_GOT_TLSLD16_LO 84
-#define R_PPC_GOT_TLSLD16_HI 85
-#define R_PPC_GOT_TLSLD16_HA 86
-#define R_PPC_GOT_TPREL16 87
-#define R_PPC_GOT_TPREL16_LO 88
-#define R_PPC_GOT_TPREL16_HI 89
-#define R_PPC_GOT_TPREL16_HA 90
-
-/*
- * The remaining relocs are from the Embedded ELF ABI, and are not in the
- * SVR4 ELF ABI.
- */
-
-#define R_PPC_EMB_NADDR32 101
-#define R_PPC_EMB_NADDR16 102
-#define R_PPC_EMB_NADDR16_LO 103
-#define R_PPC_EMB_NADDR16_HI 104
-#define R_PPC_EMB_NADDR16_HA 105
-#define R_PPC_EMB_SDAI16 106
-#define R_PPC_EMB_SDA2I16 107
-#define R_PPC_EMB_SDA2REL 108
-#define R_PPC_EMB_SDA21 109
-#define R_PPC_EMB_MRKREF 110
-#define R_PPC_EMB_RELSEC16 111
-#define R_PPC_EMB_RELST_LO 112
-#define R_PPC_EMB_RELST_HI 113
-#define R_PPC_EMB_RELST_HA 114
-#define R_PPC_EMB_BIT_FLD 115
-#define R_PPC_EMB_RELSDA 116
-
-#define R_SH_NONE 0
-#define R_SH_DIR32 1
-#define R_SH_REL32 2
-#define R_SH_DIR8WPN 3
-#define R_SH_IND12W 4
-#define R_SH_DIR8WPL 5
-#define R_SH_DIR8WPZ 6
-#define R_SH_DIR8BP 7
-#define R_SH_DIR8W 8
-#define R_SH_DIR8L 9
-#define R_SH_GOT32 0xa0
-#define R_SH_PLT32 0xa1
-#define R_SH_COPY 0xa2
-#define R_SH_GLOB_DAT 0xa3
-#define R_SH_JMP_SLOT 0xa4
-#define R_SH_RELATIVE 0xa5
-#define R_SH_GOTOFF 0xa6
-#define R_SH_GOTPC 0xa7
-
-#define R_SPARC_NONE 0
-#define R_SPARC_8 1
-#define R_SPARC_16 2
-#define R_SPARC_32 3
-#define R_SPARC_DISP8 4
-#define R_SPARC_DISP16 5
-#define R_SPARC_DISP32 6
-#define R_SPARC_WDISP30 7
-#define R_SPARC_WDISP22 8
-#define R_SPARC_HI22 9
-#define R_SPARC_22 10
-#define R_SPARC_13 11
-#define R_SPARC_LO10 12
-#define R_SPARC_GOT10 13
-#define R_SPARC_GOT13 14
-#define R_SPARC_GOT22 15
-#define R_SPARC_PC10 16
-#define R_SPARC_PC22 17
-#define R_SPARC_WPLT30 18
-#define R_SPARC_COPY 19
-#define R_SPARC_GLOB_DAT 20
-#define R_SPARC_JMP_SLOT 21
-#define R_SPARC_RELATIVE 22
-#define R_SPARC_UA32 23
-#define R_SPARC_PLT32 24
-#define R_SPARC_HIPLT22 25
-#define R_SPARC_LOPLT10 26
-#define R_SPARC_PCPLT32 27
-#define R_SPARC_PCPLT22 28
-#define R_SPARC_PCPLT10 29
-#define R_SPARC_10 30
-#define R_SPARC_11 31
-#define R_SPARC_64 32
-#define R_SPARC_OLO10 33
-#define R_SPARC_HH22 34
-#define R_SPARC_HM10 35
-#define R_SPARC_LM22 36
-#define R_SPARC_PC_HH22 37
-#define R_SPARC_PC_HM10 38
-#define R_SPARC_PC_LM22 39
-#define R_SPARC_WDISP16 40
-#define R_SPARC_WDISP19 41
-#define R_SPARC_GLOB_JMP 42
-#define R_SPARC_7 43
-#define R_SPARC_5 44
-#define R_SPARC_6 45
-#define R_SPARC_DISP64 46
-#define R_SPARC_PLT64 47
-#define R_SPARC_HIX22 48
-#define R_SPARC_LOX10 49
-#define R_SPARC_H44 50
-#define R_SPARC_M44 51
-#define R_SPARC_L44 52
-#define R_SPARC_REGISTER 53
-#define R_SPARC_UA64 54
-#define R_SPARC_UA16 55
-#define R_SPARC_TLS_GD_HI22 56
-#define R_SPARC_TLS_GD_LO10 57
-#define R_SPARC_TLS_GD_ADD 58
-#define R_SPARC_TLS_GD_CALL 59
-#define R_SPARC_TLS_LDM_HI22 60
-#define R_SPARC_TLS_LDM_LO10 61
-#define R_SPARC_TLS_LDM_ADD 62
-#define R_SPARC_TLS_LDM_CALL 63
-#define R_SPARC_TLS_LDO_HIX22 64
-#define R_SPARC_TLS_LDO_LOX10 65
-#define R_SPARC_TLS_LDO_ADD 66
-#define R_SPARC_TLS_IE_HI22 67
-#define R_SPARC_TLS_IE_LO10 68
-#define R_SPARC_TLS_IE_LD 69
-#define R_SPARC_TLS_IE_LDX 70
-#define R_SPARC_TLS_IE_ADD 71
-#define R_SPARC_TLS_LE_HIX22 72
-#define R_SPARC_TLS_LE_LOX10 73
-#define R_SPARC_TLS_DTPMOD32 74
-#define R_SPARC_TLS_DTPMOD64 75
-#define R_SPARC_TLS_DTPOFF32 76
-#define R_SPARC_TLS_DTPOFF64 77
-#define R_SPARC_TLS_TPOFF32 78
-#define R_SPARC_TLS_TPOFF64 79
-
-#define R_X86_64_NONE 0 /* No relocation. */
-#define R_X86_64_64 1 /* Add 64 bit symbol value. */
-#define R_X86_64_PC32 2 /* PC-relative 32 bit signed sym value. */
-#define R_X86_64_GOT32 3 /* PC-relative 32 bit GOT offset. */
-#define R_X86_64_PLT32 4 /* PC-relative 32 bit PLT offset. */
-#define R_X86_64_COPY 5 /* Copy data from shared object. */
-#define R_X86_64_GLOB_DAT 6 /* Set GOT entry to data address. */
-#define R_X86_64_JMP_SLOT 7 /* Set GOT entry to code address. */
-#define R_X86_64_RELATIVE 8 /* Add load address of shared object. */
-#define R_X86_64_GOTPCREL 9 /* Add 32 bit signed pcrel offset to GOT. */
-#define R_X86_64_32 10 /* Add 32 bit zero extended symbol value */
-#define R_X86_64_32S 11 /* Add 32 bit sign extended symbol value */
-#define R_X86_64_16 12 /* Add 16 bit zero extended symbol value */
-#define R_X86_64_PC16 13 /* Add 16 bit signed extended pc relative symbol value */
-#define R_X86_64_8 14 /* Add 8 bit zero extended symbol value */
-#define R_X86_64_PC8 15 /* Add 8 bit signed extended pc relative symbol value */
-#define R_X86_64_DTPMOD64 16 /* ID of module containing symbol */
-#define R_X86_64_DTPOFF64 17 /* Offset in TLS block */
-#define R_X86_64_TPOFF64 18 /* Offset in static TLS block */
-#define R_X86_64_TLSGD 19 /* PC relative offset to GD GOT entry */
-#define R_X86_64_TLSLD 20 /* PC relative offset to LD GOT entry */
-#define R_X86_64_DTPOFF32 21 /* Offset in TLS block */
-#define R_X86_64_GOTTPOFF 22 /* PC relative offset to IE GOT entry */
-#define R_X86_64_TPOFF32 23 /* Offset in static TLS block */
-#define R_X86_64_IRELATIVE 37
-
-#define R_390_NONE 0
-#define R_390_8 1
-#define R_390_12 2
-#define R_390_16 3
-#define R_390_32 4
-#define R_390_PC32 5
-#define R_390_GOT12 6
-#define R_390_GOT32 7
-#define R_390_PLT32 8
-#define R_390_COPY 9
-#define R_390_GLOB_DAT 10
-#define R_390_JMP_SLOT 11
-#define R_390_RELATIVE 12
-#define R_390_GOTOFF 13
-#define R_390_GOTPC 14
-#define R_390_GOT16 15
-#define R_390_PC16 16
-#define R_390_PC16DBL 17
-#define R_390_PLT16DBL 18
-#define R_390_PC32DBL 19
-#define R_390_PLT32DBL 20
-#define R_390_GOTPCDBL 21
-#define R_390_64 22
-#define R_390_PC64 23
-#define R_390_GOT64 24
-#define R_390_PLT64 25
-#define R_390_GOTENT 26
+#define STN_UNDEF 0 /* Undefined symbol index. */
#endif /* !_SYS_ELF_COMMON_H_ */
diff --git a/winsup/cygwin/include/sys/elf_generic.h b/winsup/cygwin/include/sys/elf_generic.h
index 95a682f25..dbe9f1e83 100644
--- a/winsup/cygwin/include/sys/elf_generic.h
+++ b/winsup/cygwin/include/sys/elf_generic.h
@@ -23,11 +23,11 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD$
+ * $FreeBSD: src/sys/sys/elf_generic.h,v 1.6 2002/07/20 02:56:11 peter Exp $
*/
#ifndef _SYS_ELF_GENERIC_H_
-#define _SYS_ELF_GENERIC_H_ 1
+#define _SYS_ELF_GENERIC_H_ 1
#include <sys/cdefs.h>
@@ -36,30 +36,43 @@
* needing to know the word size.
*/
+#ifndef __ELF_WORD_SIZE
+# define __ELF_WORD_SIZE 32
+#endif
+
#if __ELF_WORD_SIZE != 32 && __ELF_WORD_SIZE != 64
#error "__ELF_WORD_SIZE must be defined as 32 or 64"
#endif
-#define ELF_CLASS __CONCAT(ELFCLASS,__ELF_WORD_SIZE)
+#define ELF_CLASS __CONCAT(ELFCLASS,__ELF_WORD_SIZE)
#if BYTE_ORDER == LITTLE_ENDIAN
-#define ELF_DATA ELFDATA2LSB
+#define ELF_DATA ELFDATA2LSB
#elif BYTE_ORDER == BIG_ENDIAN
-#define ELF_DATA ELFDATA2MSB
+#define ELF_DATA ELFDATA2MSB
#else
#error "Unknown byte order"
#endif
-#define __elfN(x) __CONCAT(__CONCAT(__CONCAT(elf,__ELF_WORD_SIZE),_),x)
-#define __ElfN(x) __CONCAT(__CONCAT(__CONCAT(Elf,__ELF_WORD_SIZE),_),x)
-#define __ELFN(x) __CONCAT(__CONCAT(__CONCAT(ELF,__ELF_WORD_SIZE),_),x)
-#define __ElfType(x) typedef __ElfN(x) __CONCAT(Elf_,x)
+#if __ELF_WORD_SIZE == 32
+#define __elfN(x) elf32_##x
+#define __ElfN(x) Elf32_##x
+#define __ELFN(x) ELF32_##x
+#else
+#define __elfN(x) elf364_##x
+#define __ElfN(x) Elf364_##x
+#define __ELFN(x) ELF364_##x
+#endif
+#define __ElfType(x) typedef __ElfN(x) Elf_##x
+#define FOO
__ElfType(Addr);
__ElfType(Half);
__ElfType(Off);
__ElfType(Sword);
__ElfType(Word);
+__ElfType(Size);
+__ElfType(Hashelt);
__ElfType(Ehdr);
__ElfType(Shdr);
__ElfType(Phdr);
@@ -67,22 +80,12 @@ __ElfType(Dyn);
__ElfType(Rel);
__ElfType(Rela);
__ElfType(Sym);
-__ElfType(Verdef);
-__ElfType(Verdaux);
-__ElfType(Verneed);
-__ElfType(Vernaux);
-__ElfType(Versym);
-
-/* Non-standard ELF types. */
-__ElfType(Hashelt);
-__ElfType(Size);
-__ElfType(Ssize);
-#define ELF_R_SYM __ELFN(R_SYM)
-#define ELF_R_TYPE __ELFN(R_TYPE)
-#define ELF_R_INFO __ELFN(R_INFO)
-#define ELF_ST_BIND __ELFN(ST_BIND)
-#define ELF_ST_TYPE __ELFN(ST_TYPE)
-#define ELF_ST_INFO __ELFN(ST_INFO)
+#define ELF_R_SYM __ELFN(R_SYM)
+#define ELF_R_TYPE __ELFN(R_TYPE)
+#define ELF_R_INFO __ELFN(R_INFO)
+#define ELF_ST_BIND __ELFN(ST_BIND)
+#define ELF_ST_TYPE __ELFN(ST_TYPE)
+#define ELF_ST_INFO __ELFN(ST_INFO)
#endif /* !_SYS_ELF_GENERIC_H_ */
diff --git a/winsup/cygwin/include/sys/termios.h b/winsup/cygwin/include/sys/termios.h
index a87f9de68..a0d1b2445 100644
--- a/winsup/cygwin/include/sys/termios.h
+++ b/winsup/cygwin/include/sys/termios.h
@@ -1,7 +1,7 @@
/* sys/termios.h
Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006,
- 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -14,8 +14,6 @@ details. */
#ifndef _SYS_TERMIOS_H
#define _SYS_TERMIOS_H
-#include <sys/types.h>
-
#define TIOCMGET 0x5415
#define TIOCMBIS 0x5416
#define TIOCMBIC 0x5417
@@ -330,7 +328,7 @@ int tcsendbreak (int, int);
int tcdrain (int);
int tcflush (int, int);
int tcflow (int, int);
-pid_t tcgetsid (int);
+int tcgetsid (int);
void cfmakeraw (struct termios *);
speed_t cfgetispeed(const struct termios *);
speed_t cfgetospeed(const struct termios *);
diff --git a/winsup/cygwin/include/sys/wait.h b/winsup/cygwin/include/sys/wait.h
index be3e56fd2..5dea7283a 100644
--- a/winsup/cygwin/include/sys/wait.h
+++ b/winsup/cygwin/include/sys/wait.h
@@ -1,6 +1,6 @@
/* sys/wait.h
- Copyright 1997, 1998, 2001, 2002, 2003, 2004, 2006, 2011, 2012 Red Hat, Inc.
+ Copyright 1997, 1998, 2001, 2002, 2003, 2004, 2006, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -44,10 +44,6 @@ pid_t waitpid (pid_t __pid, __wait_status_ptr_t __status, int __options);
pid_t wait3 (__wait_status_ptr_t __status, int __options, struct rusage *__rusage);
pid_t wait4 (pid_t __pid, __wait_status_ptr_t __status, int __options, struct rusage *__rusage);
-#ifdef _COMPILING_NEWLIB
-pid_t _wait (__wait_status_ptr_t __status);
-#endif
-
union wait
{
int w_status;
diff --git a/winsup/cygwin/init.cc b/winsup/cygwin/init.cc
index 1b245f581..c8d4d02db 100644
--- a/winsup/cygwin/init.cc
+++ b/winsup/cygwin/init.cc
@@ -1,7 +1,7 @@
/* init.cc
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -74,6 +74,7 @@ dll_entry (HANDLE h, DWORD reason, void *static_load)
switch (reason)
{
case DLL_PROCESS_ATTACH:
+ wincap.init ();
init_console_handler (false);
cygwin_hmodule = (HMODULE) h;
diff --git a/winsup/cygwin/kernel32.cc b/winsup/cygwin/kernel32.cc
index e95a43121..fd25358aa 100644
--- a/winsup/cygwin/kernel32.cc
+++ b/winsup/cygwin/kernel32.cc
@@ -1,6 +1,6 @@
/* kernel32.cc: Win32 replacement functions.
- Copyright 2008, 2010, 2011, 2012 Red Hat, Inc.
+ Copyright 2008, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -11,6 +11,7 @@ details. */
#include "winsup.h"
#include "shared_info.h"
#include "ntdll.h"
+#include <wchar.h>
/* Implement CreateEvent/OpenEvent so that named objects are always created in
Cygwin shared object namespace. */
@@ -307,8 +308,8 @@ CreateFileMappingW (HANDLE hFile, LPSECURITY_ATTRIBUTES lpAttributes,
| PAGE_WRITECOPY | PAGE_EXECUTE
| PAGE_EXECUTE_READ | PAGE_EXECUTE_READWRITE
| PAGE_EXECUTE_WRITECOPY);
- ULONG attribs = flProtect & (SEC_COMMIT | SEC_IMAGE | SEC_NOCACHE
- | SEC_RESERVE);
+ ULONG attribs = flProtect & (SEC_BASED | SEC_NO_CHANGE | SEC_IMAGE | SEC_VLM
+ | SEC_RESERVE | SEC_COMMIT | SEC_NOCACHE);
LARGE_INTEGER size = {{ LowPart : dwMaximumSizeLow,
HighPart : dwMaximumSizeHigh }};
PLARGE_INTEGER psize = size.QuadPart ? &size : NULL;
diff --git a/winsup/cygwin/lib/_cygwin_crt0_common.cc b/winsup/cygwin/lib/_cygwin_crt0_common.cc
index a0dfb8fe4..d44b7c453 100644
--- a/winsup/cygwin/lib/_cygwin_crt0_common.cc
+++ b/winsup/cygwin/lib/_cygwin_crt0_common.cc
@@ -49,6 +49,7 @@ extern "C"
{
char **environ;
int _fmode;
+void _pei386_runtime_relocator (void);
extern char __RUNTIME_PSEUDO_RELOC_LIST__;
extern char __RUNTIME_PSEUDO_RELOC_LIST_END__;
@@ -154,7 +155,7 @@ _cygwin_crt0_common (MainFunc f, per_process *u)
u->image_base = &_image_base__;
/* This is actually a dummy call to force the linker to load this
symbol for older apps which need it. */
- _pei386_runtime_relocator (NULL);
+ _pei386_runtime_relocator ();
return 1;
}
} /* "C" */
diff --git a/winsup/cygwin/lib/crt0.h b/winsup/cygwin/lib/crt0.h
index 878db05ed..461ea9b2e 100644
--- a/winsup/cygwin/lib/crt0.h
+++ b/winsup/cygwin/lib/crt0.h
@@ -12,7 +12,7 @@ details. */
extern "C" {
#endif
-#include "winlean.h"
+#include <windows.h>
struct per_process;
typedef int (*MainFunc) (int argc, char *argv[], char **env);
int __stdcall _cygwin_crt0_common (MainFunc, struct per_process *);
diff --git a/winsup/cygwin/libc/inet_addr.c b/winsup/cygwin/libc/inet_addr.c
index 465e86ed3..24028ad95 100644
--- a/winsup/cygwin/libc/inet_addr.c
+++ b/winsup/cygwin/libc/inet_addr.c
@@ -72,7 +72,8 @@ static const char rcsid[] = "$Id$";
#ifndef __CYGWIN__
__FBSDID("$FreeBSD$");
#else
-#include "winsup.h"
+#define __INSIDE_CYGWIN__
+#define __INSIDE_CYGWIN_NET__
#endif
#ifndef __CYGWIN__
diff --git a/winsup/cygwin/libc/inet_network.c b/winsup/cygwin/libc/inet_network.c
index 01e1a7682..52286f453 100644
--- a/winsup/cygwin/libc/inet_network.c
+++ b/winsup/cygwin/libc/inet_network.c
@@ -34,7 +34,8 @@ static const char sccsid[] = "@(#)inet_network.c 8.1 (Berkeley) 6/4/93";
#ifndef __CYGWIN__
__FBSDID("$FreeBSD$");
#else
-#include "winsup.h"
+#define __INSIDE_CYGWIN__
+#define __INSIDE_CYGWIN_NET__
#endif
#ifndef __CYGWIN__
diff --git a/winsup/cygwin/libc/minires-os-if.c b/winsup/cygwin/libc/minires-os-if.c
index 46e8297fd..f59369827 100644
--- a/winsup/cygwin/libc/minires-os-if.c
+++ b/winsup/cygwin/libc/minires-os-if.c
@@ -1,6 +1,6 @@
/* minires-os-if.c. Stub synchronous resolver for Cygwin.
- Copyright 2006, 2007, 2008, 2009, 2011, 2012 Red Hat, Inc.
+ Copyright 2006, 2007, 2008, 2009, 2011 Red Hat, Inc.
Written by Pierre A. Humblet <Pierre.Humblet@ieee.org>
@@ -10,14 +10,6 @@ This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
-#define __INSIDE_CYGWIN_NET__
-#define USE_SYS_TYPES_FD_SET
-#include <winsup.h>
-#include <ws2tcpip.h>
-#include <iphlpapi.h>
-#include <windns.h>
-#include "ntdll.h"
-#undef h_errno
#include "minires.h"
#ifdef __CYGWIN__
@@ -32,6 +24,13 @@ details. */
#undef NOERROR
#undef DELETE
+#include <windows.h>
+#include <iphlpapi.h>
+#include <windns.h>
+#include <ntdef.h>
+#include "ntdll.h"
+#include <wchar.h>
+
/***********************************************************************
* write_record: Translates a Windows DNS record into a compressed record
***********************************************************************/
diff --git a/winsup/cygwin/libc/minires.h b/winsup/cygwin/libc/minires.h
index 028b1e084..cda0b4c51 100644
--- a/winsup/cygwin/libc/minires.h
+++ b/winsup/cygwin/libc/minires.h
@@ -1,6 +1,6 @@
/* minires.h. Stub synchronous resolver for Cygwin.
- Copyright 2006, 2012 Red Hat, Inc.
+ Copyright 2006 Red Hat, Inc.
Written by Pierre A. Humblet <Pierre.Humblet@ieee.org>
@@ -10,10 +10,13 @@ This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
+#define __INSIDE_CYGWIN_NET__
+
#include "winsup.h"
#include <string.h>
#include <malloc.h>
#include <stdlib.h>
+#include <netdb.h>
#include <ctype.h>
#include <sys/time.h>
#include <sys/socket.h>
@@ -24,7 +27,6 @@ details. */
#include <stdio.h>
#include <stdarg.h>
#include <sys/unistd.h>
-#define __INSIDE_CYGWIN_NET__
#include <netdb.h>
#include <arpa/nameser.h>
#include <resolv.h>
diff --git a/winsup/cygwin/libc/rcmd.cc b/winsup/cygwin/libc/rcmd.cc
index 16c05b01b..8012790ec 100644
--- a/winsup/cygwin/libc/rcmd.cc
+++ b/winsup/cygwin/libc/rcmd.cc
@@ -36,7 +36,6 @@ __FBSDID("$FreeBSD$");
#else
#define __INSIDE_CYGWIN_NET__
#include "winsup.h"
-#undef __INSIDE_CYGWIN_NET__
#endif
#ifndef __CYGWIN__
diff --git a/winsup/cygwin/miscfuncs.cc b/winsup/cygwin/miscfuncs.cc
index 10bf4f7e9..4a4cd3ee5 100644
--- a/winsup/cygwin/miscfuncs.cc
+++ b/winsup/cygwin/miscfuncs.cc
@@ -365,7 +365,7 @@ ReadPipeOverlapped (HANDLE h, PVOID buf, DWORD len, LPDWORD ret_len,
}
BOOL WINAPI
-WritePipeOverlapped (HANDLE h, LPCVOID buf, DWORD len, LPDWORD ret_len,
+WritePipeOverlapped (HANDLE h, PCVOID buf, DWORD len, LPDWORD ret_len,
DWORD timeout)
{
OVERLAPPED ov;
diff --git a/winsup/cygwin/miscfuncs.h b/winsup/cygwin/miscfuncs.h
index ff5fa1ef7..9ec6f5916 100644
--- a/winsup/cygwin/miscfuncs.h
+++ b/winsup/cygwin/miscfuncs.h
@@ -1,7 +1,7 @@
/* miscfuncs.h: main Cygwin header file.
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -21,7 +21,7 @@ BOOL WINAPI CreatePipeOverlapped (PHANDLE read_handle, PHANDLE write_handle,
LPSECURITY_ATTRIBUTES sa);
BOOL WINAPI ReadPipeOverlapped (HANDLE h, PVOID buf, DWORD len,
LPDWORD ret_len, DWORD timeout);
-BOOL WINAPI WritePipeOverlapped (HANDLE h, LPCVOID buf, DWORD len,
+BOOL WINAPI WritePipeOverlapped (HANDLE h, PCVOID buf, DWORD len,
LPDWORD ret_len, DWORD timeout);
extern "C" void yield ();
diff --git a/winsup/cygwin/mkglobals_h b/winsup/cygwin/mkglobals_h
index ea4a582f4..1e409e01f 100755
--- a/winsup/cygwin/mkglobals_h
+++ b/winsup/cygwin/mkglobals_h
@@ -14,10 +14,10 @@ s/-NL-/\n/sog;
s/-EQ-/=/sog;
s/\s+\n/\n/sog;
s/\n{2,}/\n/sog;
-print <<PRELUDE,$_;
+print <<PRELUDE,$_,"#endif /*_GLOBALS_H*/\n";
/* $target - Autogenerated from @argv. Look there for comments. */
-#pragma once
+#ifndef _GLOBALS_H
PRELUDE
close $target_fd;
sub munge($) {
diff --git a/winsup/cygwin/mmap.cc b/winsup/cygwin/mmap.cc
index d8d78a51a..2a22a4323 100644
--- a/winsup/cygwin/mmap.cc
+++ b/winsup/cygwin/mmap.cc
@@ -526,8 +526,7 @@ mmap_record::alloc_fh ()
fdev.name = fdev.native = "";
fdev.parse (get_device ());
fhandler_base *fh = build_fh_dev (fdev);
- if (fh)
- fh->set_access (get_openflags ());
+ fh->set_access (get_openflags ());
return fh;
}
diff --git a/winsup/cygwin/mount.cc b/winsup/cygwin/mount.cc
index 125f248e4..90b369154 100644
--- a/winsup/cygwin/mount.cc
+++ b/winsup/cygwin/mount.cc
@@ -402,7 +402,6 @@ fs_info::update (PUNICODE_STRING upath, HANDLE in_vol)
if (!got_fs ()
&& !is_ntfs (RtlEqualUnicodeString (&fsname, &ro_u_ntfs, FALSE))
&& !is_fat (RtlEqualUnicodePathPrefix (&fsname, &ro_u_fat, TRUE))
- && !is_refs (RtlEqualUnicodeString (&fsname, &ro_u_refs, FALSE))
&& !is_csc_cache (RtlEqualUnicodeString (&fsname, &ro_u_csc, FALSE))
&& is_cdrom (ffdi.DeviceType == FILE_DEVICE_CD_ROM))
is_udf (RtlEqualUnicodeString (&fsname, &ro_u_udf, FALSE));
@@ -648,6 +647,7 @@ mount_info::conv_to_win32_path (const char *src_path, char *dst, device& dev,
if (!src_path[n])
{
+ unit = 0;
dst[0] = '\0';
if (mount_table->cygdrive_len > 1)
dev = *cygdrive_dev;
@@ -1628,7 +1628,7 @@ fillout_mntent (const char *native_path, const char *posix_path, unsigned flags)
RtlAppendUnicodeToString (&unat, L"\\");
mntinfo.update (&unat, NULL);
- if (mntinfo.what_fs () > none && mntinfo.what_fs () < max_fs_type)
+ if (mntinfo.what_fs () > 0 && mntinfo.what_fs () < max_fs_type)
strcpy (_my_tls.locals.mnt_type, fs_names[mntinfo.what_fs ()].name);
else
strcpy (_my_tls.locals.mnt_type, mntinfo.fsname ());
@@ -1899,34 +1899,6 @@ getmntent (FILE *)
return mount_table->getmntent (_my_tls.locals.iteration++);
}
-extern "C" struct mntent *
-getmntent_r (FILE *, struct mntent *mntbuf, char *buf, int buflen)
-{
- struct mntent *mnt = mount_table->getmntent (_my_tls.locals.iteration++);
- int fsname_len, dir_len, type_len, tmplen = buflen;
-
- if (!mnt)
- return NULL;
-
- fsname_len = strlen (mnt->mnt_fsname) + 1;
- dir_len = strlen (mnt->mnt_dir) + 1;
- type_len = strlen (mnt->mnt_type) + 1;
-
- snprintf (buf, buflen, "%s%c%s%c%s%c%s", mnt->mnt_fsname, '\0',
- mnt->mnt_dir, '\0', mnt->mnt_type, '\0', mnt->mnt_opts);
-
- mntbuf->mnt_fsname = buf;
- tmplen -= fsname_len;
- mntbuf->mnt_dir = tmplen > 0 ? buf + fsname_len : (char *)"";
- tmplen -= dir_len;
- mntbuf->mnt_type = tmplen > 0 ? buf + fsname_len + dir_len : (char *)"";
- tmplen -= type_len;
- mntbuf->mnt_opts = tmplen > 0 ? buf + fsname_len + dir_len + type_len : (char *)"";
- mntbuf->mnt_freq = mnt->mnt_freq;
- mntbuf->mnt_passno = mnt->mnt_passno;
- return mntbuf;
-}
-
extern "C" int
endmntent (FILE *)
{
diff --git a/winsup/cygwin/mount.h b/winsup/cygwin/mount.h
index 1d3b7451b..1c8a6cd5c 100644
--- a/winsup/cygwin/mount.h
+++ b/winsup/cygwin/mount.h
@@ -29,7 +29,6 @@ enum fs_info_type
none = 0,
fat,
ntfs,
- refs,
samba,
nfs,
netapp,
@@ -75,6 +74,7 @@ class fs_info
} status;
ULONG sernum; /* Volume Serial Number */
char fsn[80]; /* Windows filesystem name */
+ unsigned long got_fs () const { return status.fs_type != none; }
public:
void clear ()
@@ -99,7 +99,6 @@ class fs_info
IMPLEMENT_STATUS_FLAG (bool, has_dos_filenames_only)
IMPLEMENT_FS_FLAG (fat)
IMPLEMENT_FS_FLAG (ntfs)
- IMPLEMENT_FS_FLAG (refs)
IMPLEMENT_FS_FLAG (samba)
IMPLEMENT_FS_FLAG (nfs)
IMPLEMENT_FS_FLAG (netapp)
@@ -113,7 +112,6 @@ class fs_info
IMPLEMENT_FS_FLAG (nwfs)
IMPLEMENT_FS_FLAG (ncfsd)
fs_info_type what_fs () const { return status.fs_type; }
- bool got_fs () const { return status.fs_type != none; }
ULONG serial_number () const { return sernum; }
diff --git a/winsup/cygwin/net.cc b/winsup/cygwin/net.cc
index 8b91e940a..2115debab 100644
--- a/winsup/cygwin/net.cc
+++ b/winsup/cygwin/net.cc
@@ -1,7 +1,7 @@
/* net.cc: network-related routines.
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -12,27 +12,27 @@ details. */
/* #define DEBUG_NEST_ON 1 */
#define __INSIDE_CYGWIN_NET__
-#define USE_SYS_TYPES_FD_SET
-#define __WSA_ERR_MACROS_DEFINED
-/* FIXME: Collision with different declarations of if_nametoindex and
- if_indextoname functions in iphlpapi.h since Vista.
- TODO: Convert if_nametoindex to cygwin_if_nametoindex and call
- system functions on Vista and later. */
-#define _INC_NETIOAPI
+
#include "winsup.h"
-#include <ws2tcpip.h>
-#include <mswsock.h>
-#include <iphlpapi.h>
+
+/* unfortunately defined in windows header file but used in
+ cygwin header files too */
+#undef NOERROR
+#undef DELETE
+
#include "miscfuncs.h"
#include <ctype.h>
#include <wchar.h>
+
#include <stdlib.h>
#define gethostname cygwin_gethostname
#include <unistd.h>
#undef gethostname
#include <netdb.h>
-#include <cygwin/in.h>
#include <asm/byteorder.h>
+#define USE_SYS_TYPES_FD_SET
+#include <winsock2.h>
+#include <iphlpapi.h>
#include <assert.h>
#include "cygerrno.h"
#include "security.h"
@@ -46,13 +46,10 @@ details. */
#include "sigproc.h"
#include "registry.h"
#include "cygtls.h"
+#include "cygwin/in6.h"
#include "ifaddrs.h"
#include "tls_pbuf.h"
#include "ntdll.h"
-
-/* Unfortunately defined in Windows header files and arpa/nameser_compat.h. */
-#undef NOERROR
-#undef DELETE
#define _CYGWIN_IN_H
#include <resolv.h>
@@ -535,33 +532,19 @@ fdsock (cygheap_fdmanip& fd, const device *dev, SOCKET soc)
sizeof (base_soc), &bret, NULL, NULL);
if (ret)
debug_printf ("WSAIoctl: %lu", WSAGetLastError ());
- else if (base_soc != soc)
+ else if (base_soc != soc
+ && GetHandleInformation ((HANDLE) base_soc, &flags)
+ && (flags & HANDLE_FLAG_INHERIT))
{
- /* LSPs are often BLODAs as well. So we print an info about
- detecting an LSP if BLODA detection is desired. */
- if (detect_bloda)
- {
- WSAPROTOCOL_INFO prot;
-
- memset (&prot, 0, sizeof prot);
- ::getsockopt (soc, SOL_SOCKET, SO_PROTOCOL_INFO, (char *) &prot,
- (size = sizeof prot, &size));
- small_printf ("\n\nPotential BLODA detected! Layered Socket "
- "Service Provider:\n %s\n\n", prot.szProtocol);
- }
- if (GetHandleInformation ((HANDLE) base_soc, &flags)
- && (flags & HANDLE_FLAG_INHERIT))
+ if (!DuplicateHandle (GetCurrentProcess (), (HANDLE) base_soc,
+ GetCurrentProcess (), (PHANDLE) &base_soc,
+ 0, TRUE, DUPLICATE_SAME_ACCESS))
+ debug_printf ("DuplicateHandle failed, %E");
+ else
{
- if (!DuplicateHandle (GetCurrentProcess (), (HANDLE) base_soc,
- GetCurrentProcess (), (PHANDLE) &base_soc,
- 0, TRUE, DUPLICATE_SAME_ACCESS))
- debug_printf ("DuplicateHandle failed, %E");
- else
- {
- closesocket (soc);
- soc = base_soc;
- fixup = false;
- }
+ closesocket (soc);
+ soc = base_soc;
+ fixup = false;
}
}
}
@@ -715,11 +698,7 @@ cygwin_recvfrom (int fd, void *buf, size_t len, int flags,
myfault efault;
if (efault.faulted (EFAULT) || !fh)
res = -1;
- else
- /* Originally we shortcircuited here if res == 0.
- Allow 0 bytes buffer. This is valid in POSIX and handled in
- fhandler_socket::recv_internal. If we shortcircuit, we fail
- to deliver valid error conditions and peer address. */
+ else if ((res = len) != 0)
res = fh->recvfrom (buf, len, flags, from, fromlen);
syscall_printf ("%R = recvfrom(%d, %p, %d, %x, %p, %p)",
@@ -1472,11 +1451,7 @@ cygwin_recv (int fd, void *buf, size_t len, int flags)
myfault efault;
if (efault.faulted (EFAULT) || !fh)
res = -1;
- else
- /* Originally we shortcircuited here if res == 0.
- Allow 0 bytes buffer. This is valid in POSIX and handled in
- fhandler_socket::recv_internal. If we shortcircuit, we fail
- to deliver valid error conditions. */
+ else if ((res = len) != 0)
res = fh->recvfrom (buf, len, flags, NULL, NULL);
syscall_printf ("%R = recv(%d, %p, %d, %x)", res, fd, buf, len, flags);
@@ -1525,8 +1500,6 @@ getdomainname (char *domain, size_t len)
/* Fill out an ifconf struct. */
-#ifndef __MINGW64_VERSION_MAJOR
-
/* Vista/Longhorn: unicast address has additional OnLinkPrefixLength member. */
typedef struct _IP_ADAPTER_UNICAST_ADDRESS_LH {
_ANONYMOUS_UNION union {
@@ -1584,9 +1557,29 @@ typedef struct _IP_ADAPTER_ADDRESSES_LH {
ULONG Ipv6Metric;
} IP_ADAPTER_ADDRESSES_LH,*PIP_ADAPTER_ADDRESSES_LH;
+/* We can't include ws2tcpip.h. */
+
#define SIO_GET_INTERFACE_LIST _IOR('t', 127, u_long)
-#endif /* !__MINGW64_VERSION_MAJOR */
+struct sockaddr_in6_old {
+ short sin6_family;
+ u_short sin6_port;
+ u_long sin6_flowinfo;
+ struct in6_addr sin6_addr;
+};
+
+typedef union sockaddr_gen{
+ struct sockaddr Address;
+ struct sockaddr_in AddressIn;
+ struct sockaddr_in6_old AddressIn6;
+} sockaddr_gen;
+
+typedef struct _INTERFACE_INFO {
+ u_long iiFlags;
+ sockaddr_gen iiAddress;
+ sockaddr_gen iiBroadcastAddress;
+ sockaddr_gen iiNetmask;
+} INTERFACE_INFO, *LPINTERFACE_INFO;
#ifndef IN_LOOPBACK
#define IN_LOOPBACK(a) ((((long int) (a)) & 0xff000000) == 0x7f000000)
@@ -1643,75 +1636,36 @@ ip_addr_prefix (PIP_ADAPTER_UNICAST_ADDRESS pua, PIP_ADAPTER_PREFIX pap)
#define GAA_FLAG_INCLUDE_ALL_INTERFACES 0x0100
#endif
-struct gaa_wa {
- ULONG family;
- PIP_ADAPTER_ADDRESSES *pa_ret;
-};
-
-DWORD WINAPI
-call_gaa (LPVOID param)
+bool
+get_adapters_addresses (PIP_ADAPTER_ADDRESSES *pa_ret, ULONG family)
{
DWORD ret, size = 0;
- gaa_wa *p = (gaa_wa *) param;
PIP_ADAPTER_ADDRESSES pa0 = NULL;
- if (!p->pa_ret)
- return GetAdaptersAddresses (p->family, GAA_FLAG_INCLUDE_PREFIX
+ if (!pa_ret)
+ return ERROR_BUFFER_OVERFLOW
+ == GetAdaptersAddresses (family, GAA_FLAG_INCLUDE_PREFIX
| GAA_FLAG_INCLUDE_ALL_INTERFACES,
- NULL, NULL, &size);
+ NULL, NULL, &size);
do
{
- ret = GetAdaptersAddresses (p->family, GAA_FLAG_INCLUDE_PREFIX
- | GAA_FLAG_INCLUDE_ALL_INTERFACES,
+ ret = GetAdaptersAddresses (family, GAA_FLAG_INCLUDE_PREFIX
+ | GAA_FLAG_INCLUDE_ALL_INTERFACES,
NULL, pa0, &size);
if (ret == ERROR_BUFFER_OVERFLOW
&& !(pa0 = (PIP_ADAPTER_ADDRESSES) realloc (pa0, size)))
break;
}
while (ret == ERROR_BUFFER_OVERFLOW);
- if (pa0)
- {
- if (ret != ERROR_SUCCESS)
- {
- free (pa0);
- *p->pa_ret = pa0;
- }
- else
- *p->pa_ret = pa0;
- }
- return ret;
-}
-
-bool
-get_adapters_addresses (PIP_ADAPTER_ADDRESSES *pa_ret, ULONG family)
-{
- DWORD ret;
- gaa_wa param = { family, pa_ret ?: NULL };
-
- if ((uintptr_t) &param >= (uintptr_t) 0x80000000L
- && wincap.has_gaa_largeaddress_bug ())
+ if (ret != ERROR_SUCCESS)
{
- /* In Windows Vista and Windows 7 under WOW64, GetAdaptersAddresses fails
- if it's running in a thread with a stack located in the large address
- area. So, if we're running in a pthread with such a stack, we call
- GetAdaptersAddresses in a child thread with an OS-allocated stack.
- The OS allocates stacks bottom up, so chances are good that the new
- stack will be located in the lower address area.
- FIXME: The problem is fixed in W8CP, but needs testing before W8 goes
- gold. */
- HANDLE thr = CreateThread (NULL, 0, call_gaa, &param, 0, NULL);
- if (!thr)
- {
- debug_printf ("CreateThread: %E");
- return false;
- }
- WaitForSingleObject (thr, INFINITE);
- GetExitCodeThread (thr, &ret);
- CloseHandle (thr);
+ if (pa0)
+ free (pa0);
+ *pa_ret = NULL;
+ return false;
}
- else
- ret = call_gaa (&param);
- return ret == ERROR_SUCCESS || (!pa_ret && ret == ERROR_BUFFER_OVERFLOW);
+ *pa_ret = pa0;
+ return true;
}
#define WS_IFF_UP 1
@@ -2858,11 +2812,7 @@ cygwin_recvmsg (int fd, struct msghdr *msg, int flags)
else
{
res = check_iovec_for_read (msg->msg_iov, msg->msg_iovlen);
- /* Originally we shortcircuited here if res == 0.
- Allow 0 bytes buffer. This is valid in POSIX and handled in
- fhandler_socket::recv_internal. If we shortcircuit, we fail
- to deliver valid error conditions and peer address. */
- if (res >= 0)
+ if (res > 0)
res = fh->recvmsg (msg, flags);
}
@@ -3154,8 +3104,6 @@ inet_ntop6 (const u_char *src, char *dst, size_t size)
words[i / 2] |= (src[i] << ((1 - (i % 2)) << 3));
best.base = -1;
cur.base = -1;
- best.len = 0;
- cur.len = 0;
for (i = 0; i < (IN6ADDRSZ / INT16SZ); i++)
{
if (words[i] == 0)
@@ -4215,24 +4163,24 @@ w32_to_gai_err (int w32_err)
are implemented in ws2_32.dll. For older systems we use the ipv4-only
version above. */
-static void (WINAPI *ws_freeaddrinfo)(const struct addrinfo *);
-static int (WINAPI *ws_getaddrinfo)(const char *, const char *,
- const struct addrinfo *,
- struct addrinfo **);
-static int (WINAPI *ws_getnameinfo)(const struct sockaddr *, socklen_t,
- char *, size_t, char *, size_t, int);
+static void (WINAPI *freeaddrinfo)(const struct addrinfo *);
+static int (WINAPI *getaddrinfo)(const char *, const char *,
+ const struct addrinfo *,
+ struct addrinfo **);
+static int (WINAPI *getnameinfo)(const struct sockaddr *, socklen_t,
+ char *, size_t, char *, size_t, int);
static bool
get_ipv6_funcs (HMODULE lib)
{
- return ((ws_freeaddrinfo = (void (WINAPI *)(const struct addrinfo *))
+ return ((freeaddrinfo = (void (WINAPI *)(const struct addrinfo *))
GetProcAddress (lib, "freeaddrinfo"))
- && (ws_getaddrinfo = (int (WINAPI *)(const char *, const char *,
- const struct addrinfo *,
- struct addrinfo **))
+ && (getaddrinfo = (int (WINAPI *)(const char *, const char *,
+ const struct addrinfo *,
+ struct addrinfo **))
GetProcAddress (lib, "getaddrinfo"))
- && (ws_getnameinfo = (int (WINAPI *)(const struct sockaddr *,
- socklen_t, char *, size_t,
- char *, size_t, int))
+ && (getnameinfo = (int (WINAPI *)(const struct sockaddr *,
+ socklen_t, char *, size_t,
+ char *, size_t, int))
GetProcAddress (lib, "getnameinfo")));
}
@@ -4267,9 +4215,9 @@ load_ipv6_funcs ()
goto out;
FreeLibrary (lib);
}
- ws_freeaddrinfo = NULL;
- ws_getaddrinfo = NULL;
- ws_getnameinfo = NULL;
+ freeaddrinfo = NULL;
+ getaddrinfo = NULL;
+ getnameinfo = NULL;
out:
ipv6_inited = true;
@@ -4309,7 +4257,7 @@ cygwin_getaddrinfo (const char *hostname, const char *servname,
return EAI_NONAME;
}
load_ipv6 ();
- if (!ws_getaddrinfo)
+ if (!getaddrinfo)
return ipv4_getaddrinfo (hostname, servname, hints, res);
struct addrinfo nhints, *dupres;
@@ -4326,12 +4274,12 @@ cygwin_getaddrinfo (const char *hostname, const char *servname,
hints = &nhints;
nhints.ai_flags |= AI_ALL;
}
- int ret = w32_to_gai_err (ws_getaddrinfo (hostname, servname, hints, res));
+ int ret = w32_to_gai_err (getaddrinfo (hostname, servname, hints, res));
/* Always copy over to self-allocated memory. */
if (!ret)
{
dupres = ga_duplist (*res, false);
- ws_freeaddrinfo (*res);
+ freeaddrinfo (*res);
*res = dupres;
if (!dupres)
return EAI_MEMORY;
@@ -4351,12 +4299,12 @@ cygwin_getaddrinfo (const char *hostname, const char *servname,
struct addrinfo *v4res;
nhints = *hints;
nhints.ai_family = AF_INET;
- int ret2 = w32_to_gai_err (ws_getaddrinfo (hostname, servname,
- &nhints, &v4res));
+ int ret2 = w32_to_gai_err (getaddrinfo (hostname, servname,
+ &nhints, &v4res));
if (!ret2)
{
dupres = ga_duplist (v4res, true);
- ws_freeaddrinfo (v4res);
+ freeaddrinfo (v4res);
if (!dupres)
{
if (!ret)
@@ -4389,7 +4337,7 @@ cygwin_getnameinfo (const struct sockaddr *sa, socklen_t salen,
if (efault.faulted (EFAULT))
return EAI_SYSTEM;
load_ipv6 ();
- if (!ws_getnameinfo)
+ if (!getnameinfo)
return ipv4_getnameinfo (sa, salen, host, hostlen, serv, servlen, flags);
/* When the incoming port number does not resolve to a well-known service,
@@ -4414,8 +4362,8 @@ cygwin_getnameinfo (const struct sockaddr *sa, socklen_t salen,
if (!port || !getservbyport (port, flags & NI_DGRAM ? "udp" : "tcp"))
flags |= NI_NUMERICSERV;
}
- int ret = w32_to_gai_err (ws_getnameinfo (sa, salen, host, hostlen, serv,
- servlen, flags));
+ int ret = w32_to_gai_err (getnameinfo (sa, salen, host, hostlen, serv,
+ servlen, flags));
if (ret)
set_winsock_errno ();
return ret;
diff --git a/winsup/cygwin/ntdll.h b/winsup/cygwin/ntdll.h
index 2ca6a5ab3..d921867bd 100644
--- a/winsup/cygwin/ntdll.h
+++ b/winsup/cygwin/ntdll.h
@@ -9,20 +9,70 @@
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
-#pragma once
-
-#ifndef __MINGW64_VERSION_MAJOR
-# include <ddk/ntstatus.h>
-#else
-# include <ntstatus.h>
+#ifndef _NTDLL_H
+#define _NTDLL_H 1
+
+/* NTSTATUS values. */
+#define STATUS_NOT_ALL_ASSIGNED ((NTSTATUS) 0x00000106)
+#define STATUS_OBJECT_NAME_EXISTS ((NTSTATUS) 0x40000000)
+#define STATUS_BUFFER_OVERFLOW ((NTSTATUS) 0x80000005)
+#define STATUS_NO_MORE_FILES ((NTSTATUS) 0x80000006)
+#ifdef STATUS_INVALID_INFO_CLASS /* Defined as unsigned value in subauth.h */
+#undef STATUS_INVALID_INFO_CLASS
+#endif
+#define STATUS_INVALID_INFO_CLASS ((NTSTATUS) 0xc0000003)
+#define STATUS_NOT_IMPLEMENTED ((NTSTATUS) 0xc0000002)
+#define STATUS_INFO_LENGTH_MISMATCH ((NTSTATUS) 0xc0000004)
+#ifdef STATUS_INVALID_HANDLE /* Defined as unsigned value in winbase.h */
+#undef STATUS_INVALID_HANDLE
#endif
+#define STATUS_INVALID_HANDLE ((NTSTATUS) 0xc0000008)
+#define STATUS_INVALID_PARAMETER ((NTSTATUS) 0xc000000d)
+#define STATUS_NO_SUCH_FILE ((NTSTATUS) 0xc000000f)
+#define STATUS_INVALID_DEVICE_REQUEST ((NTSTATUS) 0xc0000010)
+#define STATUS_END_OF_FILE ((NTSTATUS) 0xc0000011)
+#define STATUS_NO_MEDIA_IN_DEVICE ((NTSTATUS) 0xc0000013)
+#define STATUS_ACCESS_DENIED ((NTSTATUS) 0xc0000022)
+#define STATUS_BUFFER_TOO_SMALL ((NTSTATUS) 0xc0000023)
+#define STATUS_OBJECT_TYPE_MISMATCH ((NTSTATUS) 0xc0000024)
+#define STATUS_OBJECT_NAME_INVALID ((NTSTATUS) 0xc0000033)
+#define STATUS_OBJECT_NAME_NOT_FOUND ((NTSTATUS) 0xc0000034)
+#define STATUS_OBJECT_NAME_COLLISION ((NTSTATUS) 0xc0000035)
+#define STATUS_OBJECT_PATH_NOT_FOUND ((NTSTATUS) 0xc000003A)
+#define STATUS_SHARING_VIOLATION ((NTSTATUS) 0xc0000043)
+#define STATUS_EAS_NOT_SUPPORTED ((NTSTATUS) 0xc000004f)
+#define STATUS_EA_TOO_LARGE ((NTSTATUS) 0xc0000050)
+#define STATUS_NONEXISTENT_EA_ENTRY ((NTSTATUS) 0xc0000051)
+#define STATUS_NO_EAS_ON_FILE ((NTSTATUS) 0xc0000052)
+#define STATUS_LOCK_NOT_GRANTED ((NTSTATUS) 0xc0000055)
+#define STATUS_DELETE_PENDING ((NTSTATUS) 0xc0000056)
+#define STATUS_PROCEDURE_NOT_FOUND ((NTSTATUS) 0xc000007a)
+#define STATUS_DISK_FULL ((NTSTATUS) 0xc000007f)
+#define STATUS_WORKING_SET_QUOTA ((NTSTATUS) 0xc00000a1)
+#define STATUS_INSTANCE_NOT_AVAILABLE ((NTSTATUS) 0xc00000ab)
+#define STATUS_PIPE_NOT_AVAILABLE ((NTSTATUS) 0xc00000ac)
+#define STATUS_INVALID_PIPE_STATE ((NTSTATUS) 0xc00000ad)
+#define STATUS_PIPE_BUSY ((NTSTATUS) 0xc00000ae)
+#define STATUS_NOT_SUPPORTED ((NTSTATUS) 0xc00000bb)
+#define STATUS_BAD_NETWORK_PATH ((NTSTATUS) 0xc00000be)
+#define STATUS_INVALID_NETWORK_RESPONSE ((NTSTATUS) 0xc00000c3)
+#define STATUS_BAD_NETWORK_NAME ((NTSTATUS) 0xc00000cc)
+#define STATUS_DIRECTORY_NOT_EMPTY ((NTSTATUS) 0xc0000101)
+#define STATUS_PROCESS_IS_TERMINATING ((NTSTATUS) 0xc000010a)
+#define STATUS_CANNOT_DELETE ((NTSTATUS) 0xc0000121)
+#define STATUS_INVALID_LEVEL ((NTSTATUS) 0xc0000148)
+#define STATUS_DLL_NOT_FOUND ((NTSTATUS) 0xc0000135)
+#define STATUS_ENTRYPOINT_NOT_FOUND ((NTSTATUS) 0xc0000139)
+#define STATUS_NOT_FOUND ((NTSTATUS) 0xc0000225)
+#define STATUS_BAD_DLL_ENTRYPOINT ((NTSTATUS) 0xc0000251)
+#define STATUS_ILLEGAL_DLL_RELOCATION ((NTSTATUS) 0xc0000269)
/* custom status code: */
#define STATUS_ILLEGAL_DLL_PSEUDO_RELOCATION ((NTSTATUS) 0xe0000269)
#define NtCurrentProcess() ((HANDLE) 0xffffffff)
#define NtCurrentThread() ((HANDLE) 0xfffffffe)
-/* Creation information returned in IO_STATUS_BLOCK. */
+/* CreateDisposition in NtCreateFile call. */
#define FILE_SUPERSEDED 0
#define FILE_OPENED 1
#define FILE_CREATED 2
@@ -490,8 +540,7 @@ typedef enum _PROCESSINFOCLASS
ProcessVmCounters = 3,
ProcessTimes = 4,
ProcessSessionInformation = 24,
- ProcessWow64Information = 26,
- ProcessImageFileName = 27
+ ProcessWow64Information = 26
} PROCESSINFOCLASS;
typedef struct _DEBUG_BUFFER
@@ -973,13 +1022,11 @@ typedef struct _FILE_MAILSLOT_SET_INFORMATION
typedef VOID NTAPI (*PIO_APC_ROUTINE)(PVOID, PIO_STATUS_BLOCK, ULONG);
-#ifndef __MINGW64_VERSION_MAJOR
typedef enum _EVENT_TYPE
{
NotificationEvent = 0,
SynchronizationEvent
} EVENT_TYPE, *PEVENT_TYPE;
-#endif
typedef struct _EVENT_BASIC_INFORMATION
{
@@ -1046,21 +1093,11 @@ typedef struct _KEY_VALUE_PARTIAL_INFORMATION
UCHAR Data[1];
} KEY_VALUE_PARTIAL_INFORMATION, *PKEY_VALUE_PARTIAL_INFORMATION;
-#ifndef __MINGW64_VERSION_MAJOR
typedef enum _TIMER_TYPE
{
NotificationTimer,
SynchronisationTimer
} TIMER_TYPE, *PTIMER_TYPE;
-#endif
-
-#ifdef __MINGW64_VERSION_MAJOR
-typedef enum _SECTION_INHERIT
-{
- ViewShare = 1,
- ViewUnmap = 2
-} SECTION_INHERIT;
-#endif
typedef VOID (APIENTRY *PTIMER_APC_ROUTINE)(PVOID, ULONG, ULONG);
@@ -1069,10 +1106,9 @@ typedef VOID (APIENTRY *PTIMER_APC_ROUTINE)(PVOID, ULONG, ULONG);
#ifdef __cplusplus
/* This is the mapping of the KUSER_SHARED_DATA structure into the 32 bit
- user address space. We need it here to access the current DismountCount
- and InterruptTime. */
-static volatile KUSER_SHARED_DATA &SharedUserData
- = *(volatile KUSER_SHARED_DATA *) 0x7ffe0000;
+ user address space. We need it here to access the current DismountCount. */
+static KUSER_SHARED_DATA &SharedUserData
+ = *(volatile PKUSER_SHARED_DATA) 0x7ffe0000;
extern "C"
{
@@ -1215,11 +1251,7 @@ extern "C"
PSECURITY_DESCRIPTOR, PULONG);
VOID NTAPI RtlAcquirePebLock ();
NTSTATUS NTAPI RtlAddAccessAllowedAce (PACL, ULONG, ACCESS_MASK, PSID);
- NTSTATUS NTAPI RtlAddAccessAllowedAceEx (PACL, ULONG, ULONG, ACCESS_MASK,
- PSID);
NTSTATUS NTAPI RtlAddAccessDeniedAce (PACL, ULONG, ACCESS_MASK, PSID);
- NTSTATUS NTAPI RtlAddAccessDeniedAceEx (PACL, ULONG, ULONG, ACCESS_MASK,
- PSID);
NTSTATUS NTAPI RtlAddAce (PACL, ULONG, ULONG, PVOID, ULONG);
PVOID NTAPI RtlAllocateHeap (PVOID, ULONG, SIZE_T);
NTSTATUS NTAPI RtlAppendUnicodeToString (PUNICODE_STRING, PCWSTR);
@@ -1270,7 +1302,6 @@ extern "C"
PBOOLEAN);
PSID_IDENTIFIER_AUTHORITY NTAPI RtlIdentifierAuthoritySid (PSID);
VOID NTAPI RtlInitEmptyUnicodeString (PUNICODE_STRING, PCWSTR, USHORT);
- VOID NTAPI RtlInitAnsiString (PANSI_STRING, PCSTR);
NTSTATUS NTAPI RtlInitializeSid (PSID, PSID_IDENTIFIER_AUTHORITY, UCHAR);
VOID NTAPI RtlInitUnicodeString (PUNICODE_STRING, PCWSTR);
NTSTATUS NTAPI RtlIntegerToUnicodeString (ULONG, ULONG, PUNICODE_STRING);
@@ -1302,7 +1333,6 @@ extern "C"
BOOLEAN);
PUCHAR NTAPI RtlSubAuthorityCountSid (PSID);
PULONG NTAPI RtlSubAuthoritySid (PSID, ULONG);
- ULONG NTAPI RtlUnicodeStringToAnsiSize (PUNICODE_STRING);
NTSTATUS NTAPI RtlUnicodeStringToAnsiString (PANSI_STRING, PUNICODE_STRING,
BOOLEAN);
NTSTATUS NTAPI RtlUnicodeStringToOemString (PANSI_STRING, PUNICODE_STRING,
@@ -1424,3 +1454,4 @@ extern "C"
}
}
#endif
+#endif /*_NTDLL_H*/
diff --git a/winsup/cygwin/passwd.cc b/winsup/cygwin/passwd.cc
index c6abb0205..962bf776e 100644
--- a/winsup/cygwin/passwd.cc
+++ b/winsup/cygwin/passwd.cc
@@ -58,7 +58,7 @@ pwdgrp::read_passwd ()
bool searchentry = true;
struct passwd *pw;
/* must be static */
- static char NO_COPY pretty_ls[] = "????????:*:-1:-1:::";
+ static char NO_COPY pretty_ls[] = "????????:*:-1:-1:";
add_line (pretty_ls);
cygsid tu = cygheap->user.sid ();
@@ -269,55 +269,29 @@ setpassent ()
return 0;
}
-static void
-_getpass_close_fd (void *arg)
-{
- if (arg)
- fclose ((FILE *) arg);
-}
-
extern "C" char *
getpass (const char * prompt)
{
char *pass = _my_tls.locals.pass;
struct termios ti, newti;
- bool tc_set = false;
-
- /* Try to use controlling tty in the first place. Use stdin and stderr
- only as fallback. */
- FILE *in = stdin, *err = stderr;
- FILE *tty = fopen ("/dev/tty", "w+b");
- pthread_cleanup_push (_getpass_close_fd, tty);
- if (tty)
- {
- /* Set close-on-exec for obvious reasons. */
- fcntl (fileno (tty), F_SETFD, fcntl (fileno (tty), F_GETFD) | FD_CLOEXEC);
- in = err = tty;
- }
- /* Make sure to notice if stdin is closed. */
- if (fileno (in) >= 0)
+ cygheap_fdget fhstdin (0);
+
+ if (fhstdin < 0)
+ pass[0] = '\0';
+ else
{
- flockfile (in);
- /* Change tty attributes if possible. */
- if (!tcgetattr (fileno (in), &ti))
- {
- newti = ti;
- newti.c_lflag &= ~(ECHO | ISIG); /* No echo, no signal handling. */
- if (!tcsetattr (fileno (in), TCSANOW, &newti))
- tc_set = true;
- }
- fputs (prompt, err);
- fflush (err);
- fgets (pass, _PASSWORD_LEN, in);
- fprintf (err, "\n");
- if (tc_set)
- tcsetattr (fileno (in), TCSANOW, &ti);
- funlockfile (in);
- char *crlf = strpbrk (pass, "\r\n");
- if (crlf)
- *crlf = '\0';
+ fhstdin->tcgetattr (&ti);
+ newti = ti;
+ newti.c_lflag &= ~ECHO;
+ fhstdin->tcsetattr (TCSANOW, &newti);
+ fputs (prompt, stderr);
+ fgets (pass, _PASSWORD_LEN, stdin);
+ fprintf (stderr, "\n");
+ for (int i=0; pass[i]; i++)
+ if (pass[i] == '\r' || pass[i] == '\n')
+ pass[i] = '\0';
+ fhstdin->tcsetattr (TCSANOW, &ti);
}
- pthread_cleanup_pop (1);
return pass;
}
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index d1a881c39..fdef934b8 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -57,7 +57,6 @@
#include <winnetwk.h>
#include <winnls.h>
#include <shlobj.h>
-#include <sys/param.h>
#include <sys/cygwin.h>
#include "cygerrno.h"
#include "security.h"
@@ -74,6 +73,8 @@
#include <wchar.h>
#include <wctype.h>
+bool dos_file_warning = true;
+
suffix_info stat_suffixes[] =
{
suffix_info ("", 1),
@@ -112,8 +113,7 @@ muto NO_COPY cwdstuff::cwd_lock;
static const GUID GUID_shortcut
= { 0x00021401L, 0, 0, {0xc0, 0, 0, 0, 0, 0, 0, 0x46}};
-enum
-{
+enum {
WSH_FLAG_IDLIST = 0x01, /* Contains an ITEMIDLIST. */
WSH_FLAG_FILE = 0x02, /* Contains a file locator element. */
WSH_FLAG_DESC = 0x04, /* Contains a description. */
@@ -124,24 +124,24 @@ enum
};
struct win_shortcut_hdr
-{
- DWORD size; /* Header size in bytes. Must contain 0x4c. */
- GUID magic; /* GUID of shortcut files. */
- DWORD flags; /* Content flags. See above. */
-
- /* The next fields from attr to icon_no are always set to 0 in Cygwin
- and U/Win shortcuts. */
- DWORD attr; /* Target file attributes. */
- FILETIME ctime; /* These filetime items are never touched by the */
- FILETIME mtime; /* system, apparently. Values don't matter. */
- FILETIME atime;
- DWORD filesize; /* Target filesize. */
- DWORD icon_no; /* Icon number. */
-
- DWORD run; /* Values defined in winuser.h. Use SW_NORMAL. */
- DWORD hotkey; /* Hotkey value. Set to 0. */
- DWORD dummy[2]; /* Future extension probably. Always 0. */
-};
+ {
+ DWORD size; /* Header size in bytes. Must contain 0x4c. */
+ GUID magic; /* GUID of shortcut files. */
+ DWORD flags; /* Content flags. See above. */
+
+ /* The next fields from attr to icon_no are always set to 0 in Cygwin
+ and U/Win shortcuts. */
+ DWORD attr; /* Target file attributes. */
+ FILETIME ctime; /* These filetime items are never touched by the */
+ FILETIME mtime; /* system, apparently. Values don't matter. */
+ FILETIME atime;
+ DWORD filesize; /* Target filesize. */
+ DWORD icon_no; /* Icon number. */
+
+ DWORD run; /* Values defined in winuser.h. Use SW_NORMAL. */
+ DWORD hotkey; /* Hotkey value. Set to 0. */
+ DWORD dummy[2]; /* Future extension probably. Always 0. */
+ };
/* Return non-zero if PATH1 is a prefix of PATH2.
Both are assumed to be of the same path style and / vs \ usage.
@@ -719,13 +719,7 @@ path_conv::check (const char *src, unsigned opt,
sym.pflags |= pflags_or;
- if (!dev.exists ())
- {
- error = ENXIO;
- return;
- }
-
- if (iscygdrive_dev (dev))
+ if (dev.get_major () == DEV_CYGDRIVE_MAJOR)
{
if (!component)
fileattr = FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_READONLY;
@@ -737,27 +731,29 @@ path_conv::check (const char *src, unsigned opt,
}
goto out;
}
- else if (isdev_dev (dev))
+ else if (dev == FH_DEV)
{
- /* Just make sure that the path handling goes on as with FH_FS. */
+ dev = FH_FS;
+#if 0
+ fileattr = getfileattr (THIS_path, sym.pflags & MOUNT_NOPOSIX);
+ if (!component && fileattr == INVALID_FILE_ATTRIBUTES)
+ {
+ fileattr = FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_READONLY;
+ goto out;
+ }
+#endif
}
else if (isvirtual_dev (dev))
{
/* FIXME: Calling build_fhandler here is not the right way to handle this. */
fhandler_virtual *fh = (fhandler_virtual *) build_fh_dev (dev, path_copy);
- virtual_ftype_t file_type;
- if (!fh)
- file_type = virt_none;
- else
+ virtual_ftype_t file_type = fh->exists ();
+ if (file_type == virt_symlink)
{
- file_type = fh->exists ();
- if (file_type == virt_symlink)
- {
- fh->fill_filebuf ();
- symlen = sym.set (fh->get_filebuf ());
- }
- delete fh;
+ fh->fill_filebuf ();
+ symlen = sym.set (fh->get_filebuf ());
}
+ delete fh;
switch (file_type)
{
case virt_directory:
@@ -884,27 +880,9 @@ is_virtual_symlink:
if (!component)
{
- /* Make sure that /dev always exists. */
- fileattr = isdev_dev (dev) ? FILE_ATTRIBUTE_DIRECTORY
- : sym.fileattr;
+ fileattr = sym.fileattr;
path_flags = sym.pflags;
}
- else if (isdev_dev (dev))
- {
- /* If we're looking for a file below /dev, which doesn't exist,
- make sure that the device type is converted to FH_FS, so that
- subsequent code handles the file correctly.
- Unless /dev itself doesn't exist on disk. In that case /dev
- is handled as virtual filesystem, and virtual filesystems are
- read-only. The PC_KEEP_HANDLE check allows to check for
- a call from an informational system call. In that case we
- just stick to ENOENT, and the device type doesn't matter
- anyway. */
- if (sym.error == ENOENT && !(opt & PC_KEEP_HANDLE))
- sym.error = EROFS;
- else
- dev = FH_FS;
- }
/* If symlink.check found an existing non-symlink file, then
it sets the appropriate flag. It also sets any suffix found
@@ -1153,7 +1131,7 @@ out:
if (opt & PC_CTTY)
path_flags |= PATH_CTTY;
- if (opt & PC_POSIX)
+ if ((opt & PC_POSIX))
{
if (tail < path_end && tail > path_copy + 1)
*tail = '/';
@@ -1352,8 +1330,8 @@ normalize_win32_path (const char *src, char *dst, char *&tail)
if ((tail - dst) >= NT_MAX_PATH)
return ENAMETOOLONG;
}
- if (tail > dst + 1 && tail[-1] == '.' && tail[-2] == '\\')
- tail--;
+ if (tail > dst + 1 && tail[-1] == '.' && tail[-2] == '\\')
+ tail--;
*tail = '\0';
debug_printf ("%s = normalize_win32_path (%s)", dst, src_start);
return 0;
@@ -1474,6 +1452,10 @@ conv_path_list (const char *src, char *dst, size_t size,
/* Create a symlink from FROMPATH to TOPATH. */
+/* If TRUE create symlinks as Windows shortcuts, if false create symlinks
+ as normal files with magic number and system bit set. */
+bool allow_winsymlinks = false;
+
extern "C" int
symlink (const char *oldpath, const char *newpath)
{
@@ -2372,6 +2354,8 @@ restart:
bool had_ext = !!*ext_here;
while (suffix.next ())
{
+ bool no_ea = false;
+
error = 0;
get_nt_native_path (suffix.path, upath, pflags & PATH_DOS);
if (h)
@@ -2402,6 +2386,7 @@ restart:
root dir which has EAs enabled? */
|| status == STATUS_INVALID_PARAMETER))
{
+ no_ea = true;
/* If EAs are not supported, there's no sense to check them again
with suffixes attached. So we set eabuf/easize to 0 here once. */
if (status == STATUS_EAS_NOT_SUPPORTED
@@ -2803,8 +2788,7 @@ readlink (const char *path, char *buf, size_t buflen)
return -1;
}
- size_t pathbuf_len = strlen (pathbuf.get_win32 ());
- ssize_t len = MIN (buflen, pathbuf_len);
+ ssize_t len = min (buflen, strlen (pathbuf.get_win32 ()));
memcpy (buf, pathbuf.get_win32 (), len);
/* errno set by symlink.check if error */
@@ -3204,14 +3188,11 @@ realpath (const char *path, char *resolved)
if (efault.faulted (EFAULT))
return NULL;
- /* Win32 drive letter paths have to be converted to a POSIX path first,
- because path_conv leaves the incoming path untouched except for
- converting backslashes to forward slashes. */
char *tpath;
if (isdrive (path))
{
tpath = tp.c_get ();
- mount_table->conv_to_posix_path (path, tpath, 0);
+ mount_table->cygdrive_posix_path (path, tpath, 0);
}
else
tpath = (char *) path;
@@ -3535,132 +3516,205 @@ copy_cwd_str (PUNICODE_STRING tgt, PUNICODE_STRING src)
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE. */
-void
-fcwd_access_t::SetFSCharacteristics (LONG val)
-{
+/* This class is used to store the CWD starting with Windows Vista.
+ The CWD storage in the RTL_USER_PROCESS_PARAMETERS block is only
+ an afterthought now. The actual CWD storage is a FAST_CWD structure
+ which is allocated on the process heap. The new method only requires
+ minimal locking and it's much more multi-thread friendly. Presumably
+ it minimizes contention when accessing the CWD.
+ The class fcwd_access_t is supposed to encapsulate the gory implementation
+ details depending on OS version from the calling functions. */
+class fcwd_access_t {
+ /* This is the layout used in Windows 8 developer preview. */
+ struct FAST_CWD_8 {
+ LONG ReferenceCount; /* Only release when this is 0. */
+ HANDLE DirectoryHandle;
+ ULONG OldDismountCount; /* Reflects the system DismountCount
+ at the time the CWD has been set. */
+ UNICODE_STRING Path; /* Path's Buffer member always refers
+ to the following Buffer array. */
+ LONG FSCharacteristics; /* Taken from FileFsDeviceInformation */
+ WCHAR Buffer[MAX_PATH];
+ };
+ /* This is the layout used in Windows 7 and Vista. */
+ struct FAST_CWD_7 {
+ UNICODE_STRING Path; /* Path's Buffer member always refers
+ to the following Buffer array. */
+ HANDLE DirectoryHandle;
+ LONG FSCharacteristics; /* Taken from FileFsDeviceInformation */
+ LONG ReferenceCount; /* Only release when this is 0. */
+ ULONG OldDismountCount; /* Reflects the system DismountCount
+ at the time the CWD has been set. */
+ WCHAR Buffer[MAX_PATH];
+ };
+ /* This is the old FAST_CWD structure up to the patch from KB 2393802,
+ release in February 2011. */
+ struct FAST_CWD_OLD {
+ LONG ReferenceCount; /* Only release when this is 0. */
+ HANDLE DirectoryHandle;
+ ULONG OldDismountCount; /* Reflects the system DismountCount
+ at the time the CWD has been set. */
+ UNICODE_STRING Path; /* Path's Buffer member always refers
+ to the following Buffer array. */
+ WCHAR Buffer[MAX_PATH];
+ };
+ union {
+ FAST_CWD_OLD fold;
+ FAST_CWD_7 f7;
+ FAST_CWD_8 f8;
+ };
+
+ /* Type of FAST_CWD used on this system. Keeping this information available
+ in shared memory avoids to test for the version every time around.
+ Default to new version. */
+ enum fcwd_version_t {
+ FCWD_OLD,
+ FCWD_W7,
+ FCWD_W8
+ };
+ static fcwd_version_t fast_cwd_version;
+
+#define IMPLEMENT(type, name) \
+ type name () { \
+ switch (fast_cwd_version) { \
+ case FCWD_OLD: \
+ default: \
+ return fold.name; \
+ case FCWD_W7: \
+ return f7.name; \
+ case FCWD_W8: \
+ return f8.name; \
+ } \
+ }
+ IMPLEMENT (LONG &, ReferenceCount)
+ IMPLEMENT (HANDLE &, DirectoryHandle)
+ IMPLEMENT (ULONG &, OldDismountCount)
+ IMPLEMENT (UNICODE_STRING &, Path)
+ IMPLEMENT (WCHAR *, Buffer)
/* Special case FSCharacteristics. Didn't exist originally. */
- switch (fast_cwd_version ())
+ void SetFSCharacteristics (LONG val)
{
- case FCWD_OLD:
- break;
- case FCWD_W7:
- f7.FSCharacteristics = val;
- break;
- case FCWD_W8:
- f8.FSCharacteristics = val;
- break;
+ switch (fast_cwd_version)
+ {
+ case FCWD_OLD:
+ break;
+ case FCWD_W7:
+ f7.FSCharacteristics = val;
+ break;
+ case FCWD_W8:
+ f8.FSCharacteristics = val;
+ break;
+ }
}
-}
-
-fcwd_version_t &
-fcwd_access_t::fast_cwd_version ()
-{
- return cygheap->cwd.fast_cwd_version;
-}
-
-void
-fcwd_access_t::CopyPath (UNICODE_STRING &target)
-{
- /* Copy the Path contents over into the UNICODE_STRING referenced by
- target. This is used to set the CurrentDirectoryName in the
- user parameter block. */
- target = Path ();
-}
-
-void
-fcwd_access_t::Free (PVOID heap)
-{
- /* Decrement the reference count. If it's down to 0, free
- structure from heap. */
- if (this && InterlockedDecrement (&ReferenceCount ()) == 0)
+public:
+ void CopyPath (UNICODE_STRING &target)
{
- /* In contrast to pre-Vista, the handle on init is always a
- fresh one and not the handle inherited from the parent
- process. So we always have to close it here. However, the
- handle could be NULL, if we cd'ed into a virtual dir. */
- HANDLE h = DirectoryHandle ();
- if (h)
- NtClose (h);
- RtlFreeHeap (heap, 0, this);
+ /* Copy the Path contents over into the UNICODE_STRING referenced by
+ target. This is used to set the CurrentDirectoryName in the
+ user parameter block. */
+ target = Path ();
}
-}
-
-void
-fcwd_access_t::FillIn (HANDLE dir, PUNICODE_STRING name,
- ULONG old_dismount_count)
-{
- /* Fill in all values into this FAST_CWD structure. */
- DirectoryHandle () = dir;
- ReferenceCount () = 1;
- OldDismountCount () = old_dismount_count;
- /* The new structure stores the device characteristics of the
- volume holding the dir. RtlGetCurrentDirectory_U checks
- if the FILE_REMOVABLE_MEDIA flag is set and, if so, checks if
- the volume is still the same as the one used when opening
- the directory handle.
- We don't call NtQueryVolumeInformationFile for the \\?\PIPE,
- though. It just returns STATUS_INVALID_HANDLE anyway. */
- if (fast_cwd_version () != FCWD_OLD)
+ void Free (PVOID heap)
{
- SetFSCharacteristics (0);
- if (name != &ro_u_pipedir)
+ /* Decrement the reference count. If it's down to 0, free
+ structure from heap. */
+ if (this && InterlockedDecrement (&ReferenceCount ()) == 0)
{
- IO_STATUS_BLOCK io;
- FILE_FS_DEVICE_INFORMATION ffdi;
- if (NT_SUCCESS (NtQueryVolumeInformationFile (dir, &io, &ffdi,
- sizeof ffdi, FileFsDeviceInformation)))
- SetFSCharacteristics (ffdi.Characteristics);
+ /* In contrast to pre-Vista, the handle on init is always a
+ fresh one and not the handle inherited from the parent
+ process. So we always have to close it here. However, the
+ handle could be NULL, if we cd'ed into a virtual dir. */
+ HANDLE h = DirectoryHandle ();
+ if (h)
+ NtClose (h);
+ RtlFreeHeap (heap, 0, this);
}
}
- RtlInitEmptyUnicodeString (&Path (), Buffer (),
- MAX_PATH * sizeof (WCHAR));
- copy_cwd_str (&Path (), name);
-}
-
-void
-fcwd_access_t::SetDirHandleFromBufferPointer (PWCHAR buf_p, HANDLE dir)
-{
- /* Input: The buffer pointer as it's stored in the user parameter block
- and a directory handle.
- This function computes the address to the FAST_CWD structure based
- on the version and overwrites the directory handle. It is only
- used if we couldn't figure out the address of fast_cwd_ptr. */
- fcwd_access_t *f_cwd;
- switch (fast_cwd_version ())
+ void FillIn (HANDLE dir, PUNICODE_STRING name, ULONG old_dismount_count)
{
- case FCWD_OLD:
- default:
- f_cwd = (fcwd_access_t *)
- ((PBYTE) buf_p - __builtin_offsetof (FAST_CWD_OLD, Buffer));
- case FCWD_W7:
- f_cwd = (fcwd_access_t *)
- ((PBYTE) buf_p - __builtin_offsetof (FAST_CWD_7, Buffer));
- case FCWD_W8:
- f_cwd = (fcwd_access_t *)
- ((PBYTE) buf_p - __builtin_offsetof (FAST_CWD_8, Buffer));
+ /* Fill in all values into this FAST_CWD structure. */
+ DirectoryHandle () = dir;
+ ReferenceCount () = 1;
+ OldDismountCount () = old_dismount_count;
+ /* The new structure stores the device characteristics of the
+ volume holding the dir. RtlGetCurrentDirectory_U checks
+ if the FILE_REMOVABLE_MEDIA flag is set and, if so, checks if
+ the volume is still the same as the one used when opening
+ the directory handle.
+ We don't call NtQueryVolumeInformationFile for the \\?\PIPE,
+ though. It just returns STATUS_INVALID_HANDLE anyway. */
+ if (fast_cwd_version != FCWD_OLD)
+ {
+ SetFSCharacteristics (0);
+ if (name != &ro_u_pipedir)
+ {
+ IO_STATUS_BLOCK io;
+ FILE_FS_DEVICE_INFORMATION ffdi;
+ if (NT_SUCCESS (NtQueryVolumeInformationFile (dir, &io, &ffdi,
+ sizeof ffdi, FileFsDeviceInformation)))
+ SetFSCharacteristics (ffdi.Characteristics);
+ }
+ }
+ RtlInitEmptyUnicodeString (&Path (), Buffer (),
+ MAX_PATH * sizeof (WCHAR));
+ copy_cwd_str (&Path (), name);
}
- f_cwd->DirectoryHandle () = dir;
-}
-void
-fcwd_access_t::SetVersionFromPointer (PBYTE buf_p, bool is_buffer)
-{
- /* Given a pointer to the FAST_CWD structure (is_buffer == false) or a
- pointer to the Buffer within (is_buffer == true), this function
- computes the FAST_CWD version by checking that Path.MaximumLength
- equals MAX_PATH, and that Path.Buffer == Buffer. */
- if (is_buffer)
- buf_p -= __builtin_offsetof (FAST_CWD_8, Buffer);
- fcwd_access_t *f_cwd = (fcwd_access_t *) buf_p;
- if (f_cwd->f8.Path.MaximumLength == MAX_PATH * sizeof (WCHAR)
- && f_cwd->f8.Path.Buffer == f_cwd->f8.Buffer)
- fast_cwd_version () = FCWD_W8;
- else if (f_cwd->f7.Path.MaximumLength == MAX_PATH * sizeof (WCHAR)
- && f_cwd->f7.Path.Buffer == f_cwd->f7.Buffer)
- fast_cwd_version () = FCWD_W7;
- else
- fast_cwd_version () = FCWD_OLD;
-}
+ static void SetDirHandleFromBufferPointer (PWCHAR buf_p, HANDLE dir)
+ {
+ /* Input: The buffer pointer as it's stored in the user parameter block
+ and a directory handle.
+ This function computes the address to the FAST_CWD structure based
+ on the version and overwrites the directory handle. It is only
+ used if we couldn't figure out the address of fast_cwd_ptr. */
+ fcwd_access_t *f_cwd;
+ switch (fast_cwd_version)
+ {
+ case FCWD_OLD:
+ default:
+ f_cwd = (fcwd_access_t *)
+ ((PBYTE) buf_p - __builtin_offsetof (FAST_CWD_OLD, Buffer));
+ case FCWD_W7:
+ f_cwd = (fcwd_access_t *)
+ ((PBYTE) buf_p - __builtin_offsetof (FAST_CWD_7, Buffer));
+ case FCWD_W8:
+ f_cwd = (fcwd_access_t *)
+ ((PBYTE) buf_p - __builtin_offsetof (FAST_CWD_8, Buffer));
+ }
+ f_cwd->DirectoryHandle () = dir;
+ }
+ static void SetVersionFromPointer (PBYTE buf_p, bool is_buffer)
+ {
+ /* Given a pointer to the FAST_CWD structure (is_buffer == false) or a
+ pointer to the Buffer within (is_buffer == true), this function
+ computes the FAST_CWD version by checking that Path.MaximumLength
+ equals MAX_PATH, and that Path.Buffer == Buffer. */
+ if (is_buffer)
+ buf_p -= __builtin_offsetof (FAST_CWD_8, Buffer);
+ fcwd_access_t *f_cwd = (fcwd_access_t *) buf_p;
+ if (f_cwd->f8.Path.MaximumLength == MAX_PATH * sizeof (WCHAR)
+ && f_cwd->f8.Path.Buffer == f_cwd->f8.Buffer)
+ fast_cwd_version = FCWD_W8;
+ else if (f_cwd->f7.Path.MaximumLength == MAX_PATH * sizeof (WCHAR)
+ && f_cwd->f7.Path.Buffer == f_cwd->f7.Buffer)
+ fast_cwd_version = FCWD_W7;
+ else
+ fast_cwd_version = FCWD_OLD;
+ }
+};
+fcwd_access_t::fcwd_version_t fcwd_access_t::fast_cwd_version
+ __attribute__((section (".cygwin_dll_common"), shared))
+ = fcwd_access_t::FCWD_W7;
+/* fast_cwd_ptr is a pointer to the global RtlpCurDirRef pointer in
+ ntdll.dll pointing to the FAST_CWD structure which constitutes the CWD.
+ Unfortunately RtlpCurDirRef is not exported from ntdll.dll.
+ We put the pointer into the common shared DLL segment. This allows to
+ restrict the call to find_fast_cwd_pointer() to once per Cygwin session
+ per user session. This works, because ASLR randomizes the load address
+ of DLLs only once at boot time. */
+static fcwd_access_t **fast_cwd_ptr
+ __attribute__((section (".cygwin_dll_common"), shared))
+ = (fcwd_access_t **) -1;
#define peek32(x) (*(uint32_t *)(x))
@@ -3670,9 +3724,8 @@ fcwd_access_t::SetVersionFromPointer (PBYTE buf_p, bool is_buffer)
Therefore we have to use some knowledge to figure out the address.
This code has been tested on Vista 32/64 bit, Server 2008 32/64 bit,
- Windows 7 32/64 bit, Server 2008 R2 (which is only 64 bit anyway),
- and W8CP 32/64 bit. There's some hope this will still work for
- Windows 8 RTM... */
+ Windows 7 32/64 bit, and Server 2008 R2 (which is only 64 bit anyway).
+ There's some hope that this will still work for Windows 8... */
static fcwd_access_t **
find_fast_cwd_pointer ()
{
@@ -3700,64 +3753,31 @@ find_fast_cwd_pointer ()
/* ...which should be followed by "mov edi, crit-sect-addr" then
"push edi", or by just a single "push crit-sect-addr". */
const uint8_t *movedi = pushedi + 1;
- const uint8_t *mov_pfast_cwd;
- if (movedi[0] == 0x8b && movedi[1] == 0xff) /* mov edi,edi -> W8 */
- {
- /* Windows 8 CP 32 bit (after a Windows Update?) does not call
- RtlEnterCriticalSection. For some reason the function manipulates
- the FastPebLock manually, kind of like RtlEnterCriticalSection has
- been converted to an inline function.
-
- Next we search for a `mov eax, some address'. This address points
- to the LockCount member of the FastPebLock structure, so the address
- is equal to FastPebLock + 4. */
- const uint8_t *moveax = (const uint8_t *) memchr (movedi, 0xb8, 16);
- if (!moveax)
- return NULL;
- offset = (ptrdiff_t) peek32 (moveax + 1) - 4;
- /* Compare the address with the known PEB lock as stored in the PEB. */
- if ((PRTL_CRITICAL_SECTION) offset != NtCurrentTeb ()->Peb->FastPebLock)
- return NULL;
- /* Now search for the mov instruction fetching the address of the global
- PFAST_CWD *. */
- mov_pfast_cwd = moveax;
- do
- {
- mov_pfast_cwd = (const uint8_t *) memchr (++mov_pfast_cwd, 0x8b, 48);
- }
- while (mov_pfast_cwd && mov_pfast_cwd[1] != 0x1d
- && (mov_pfast_cwd - moveax) < 48);
- if (!mov_pfast_cwd || mov_pfast_cwd[1] != 0x1d)
- return NULL;
- }
+ if (movedi[0] == 0xbf && movedi[5] == 0x57)
+ rcall = movedi + 6;
+ else if (movedi[0] == 0x68)
+ rcall = movedi + 5;
else
- {
- if (movedi[0] == 0xbf && movedi[5] == 0x57)
- rcall = movedi + 6;
- else if (movedi[0] == 0x68)
- rcall = movedi + 5;
- else
- return NULL;
- /* Compare the address used for the critical section with the known
- PEB lock as stored in the PEB. */
- if ((PRTL_CRITICAL_SECTION) peek32 (movedi + 1)
- != NtCurrentTeb ()->Peb->FastPebLock)
- return NULL;
- /* To check we are seeing the right code, we check our expectation that
- the next instruction is a relative call into RtlEnterCriticalSection. */
- if (rcall[0] != 0xe8)
- return NULL;
- /* Check that this is a relative call to RtlEnterCriticalSection. */
- offset = (ptrdiff_t) peek32 (rcall + 1);
- if (rcall + 5 + offset != ent_crit)
- return NULL;
- mov_pfast_cwd = rcall + 5;
- }
+ return NULL;
+ /* Compare the address used for the critical section with the known
+ PEB lock as stored in the PEB. */
+ if ((PRTL_CRITICAL_SECTION) peek32 (movedi + 1)
+ != NtCurrentTeb ()->Peb->FastPebLock)
+ return NULL;
+ /* To check we are seeing the right code, we check our expectation that
+ the next instruction is a relative call into RtlEnterCriticalSection. */
+ if (rcall[0] != 0xe8)
+ return NULL;
+ /* Check that this is a relative call to RtlEnterCriticalSection. */
+ offset = (ptrdiff_t) peek32 (rcall + 1);
+ if (rcall + 5 + offset != ent_crit)
+ return NULL;
/* After locking the critical section, the code should read the global
PFAST_CWD * pointer that is guarded by that critical section. */
- if (mov_pfast_cwd[0] != 0x8b)
+ const uint8_t *movesi = rcall + 5;
+ if (movesi[0] != 0x8b)
return NULL;
- return (fcwd_access_t **) peek32 (mov_pfast_cwd + 2);
+ return (fcwd_access_t **) peek32 (movesi + 2);
}
static fcwd_access_t **
@@ -3936,13 +3956,8 @@ cwdstuff::init ()
if (win32.Buffer)
override_win32_cwd (true, SharedUserData.DismountCount);
else
- {
- /* Initialize fast_cwd stuff. */
- fast_cwd_ptr = (fcwd_access_t **) -1;
- fast_cwd_version = FCWD_W7;
- /* Initially re-open the cwd to allow POSIX semantics. */
- set (NULL, NULL);
- }
+ /* Initially re-open the cwd to allow POSIX semantics. */
+ set (NULL, NULL);
}
/* Chdir and fill out the elements of a cwdstuff struct. */
@@ -4311,15 +4326,11 @@ etc::test_file_change (int n)
bool
etc::dir_changed (int n)
{
- /* io MUST be static because NtNotifyChangeDirectoryFile works asynchronously.
- It may write into io after the function has left, which may result in all
- sorts of stack corruption. */
- static IO_STATUS_BLOCK io NO_COPY;
- static HANDLE changed_h NO_COPY;
-
if (!change_possible[n])
{
+ static HANDLE changed_h NO_COPY;
NTSTATUS status;
+ IO_STATUS_BLOCK io;
if (!changed_h)
{
diff --git a/winsup/cygwin/path.h b/winsup/cygwin/path.h
index cb7480a58..07302b6e2 100644
--- a/winsup/cygwin/path.h
+++ b/winsup/cygwin/path.h
@@ -1,7 +1,7 @@
/* path.h: path data structures
Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -344,10 +344,8 @@ class path_conv
void file_attributes (DWORD new_attr) {fileattr = new_attr;}
DWORD fs_flags () {return fs.flags ();}
DWORD fs_name_len () {return fs.name_len ();}
- bool fs_got_fs () const { return fs.got_fs (); }
bool fs_is_fat () const {return fs.is_fat ();}
bool fs_is_ntfs () const {return fs.is_ntfs ();}
- bool fs_is_refs () const {return fs.is_refs ();}
bool fs_is_samba () const {return fs.is_samba ();}
bool fs_is_nfs () const {return fs.is_nfs ();}
bool fs_is_netapp () const {return fs.is_netapp ();}
@@ -438,6 +436,7 @@ class etc
{
friend class dtable;
static int curr_ix;
+ static HANDLE changed_h;
static bool change_possible[MAX_ETC_FILES + 1];
static OBJECT_ATTRIBUTES fn[MAX_ETC_FILES + 1];
static LARGE_INTEGER last_modified[MAX_ETC_FILES + 1];
diff --git a/winsup/cygwin/pinfo.cc b/winsup/cygwin/pinfo.cc
index eb4923e9b..2615e32ac 100644
--- a/winsup/cygwin/pinfo.cc
+++ b/winsup/cygwin/pinfo.cc
@@ -49,6 +49,8 @@ pinfo_basic myself_initial NO_COPY;
pinfo NO_COPY myself (static_cast<_pinfo *> (&myself_initial)); // Avoid myself != NULL checks
+bool is_toplevel_proc;
+
/* Setup the pinfo structure for this process. There may already be a
_pinfo for this "pid" if h != NULL. */
@@ -77,6 +79,11 @@ pinfo::thisproc (HANDLE h)
else if (!child_proc_info) /* child_proc_info is only set when this process
was started by another cygwin process */
procinfo->start_time = time (NULL); /* Register our starting time. */
+ else if (::cygheap->pid_handle)
+ {
+ ForceCloseHandle (::cygheap->pid_handle);
+ ::cygheap->pid_handle = NULL;
+ }
}
/* Initialize the process table entry for the current task.
@@ -107,13 +114,13 @@ pinfo_init (char **envp, int envc)
myself->process_state |= PID_ACTIVE;
myself->process_state &= ~(PID_INITIALIZING | PID_EXITED | PID_REAPED);
- myself.preserve ();
debug_printf ("pid %d, pgid %d", myself->pid, myself->pgid);
}
static DWORD
status_exit (DWORD x)
{
+ const char *find_first_notloaded_dll (path_conv &);
switch (x)
{
case STATUS_DLL_NOT_FOUND:
@@ -299,16 +306,8 @@ pinfo::init (pid_t n, DWORD flag, HANDLE h0)
bool created = shloc != SH_JUSTOPEN;
- if (!created && createit && (procinfo->process_state & PID_REAPED))
- {
- memset (procinfo, 0, sizeof (*procinfo));
- created = true; /* Lie that we created this - just reuse old
- shared memory */
- }
-
- if ((procinfo->process_state & PID_REAPED)
- || ((procinfo->process_state & PID_INITIALIZING) && (flag & PID_NOREDIR)
- && cygwin_pid (procinfo->dwProcessId) != procinfo->pid))
+ if ((procinfo->process_state & PID_INITIALIZING) && (flag & PID_NOREDIR)
+ && cygwin_pid (procinfo->dwProcessId) != procinfo->pid)
{
set_errno (ESRCH);
break;
@@ -655,6 +654,7 @@ _pinfo::commune_request (__uint32_t code, ...)
HANDLE& hp = si._si_commune._si_process_handle;
HANDLE& fromthem = si._si_commune._si_read_handle;
HANDLE request_sync = NULL;
+ bool locked = false;
res.s = NULL;
res.n = 0;
@@ -681,6 +681,7 @@ _pinfo::commune_request (__uint32_t code, ...)
}
va_end (args);
+ locked = true;
char name_buf[MAX_PATH];
request_sync = CreateSemaphore (&sec_none_nih, 0, LONG_MAX,
shared_name (name_buf, "commune", myself->pid));
@@ -979,10 +980,63 @@ proc_waiter (void *arg)
return 0;
}
+#ifdef DEBUGGING
+#define warn_printf api_fatal
+#else
+#define warn_printf system_printf
+#endif
+HANDLE
+_pinfo::dup_proc_pipe (HANDLE hProcess)
+{
+ DWORD flags = DUPLICATE_SAME_ACCESS;
+ HANDLE orig_wr_proc_pipe = wr_proc_pipe;
+ /* Can't set DUPLICATE_CLOSE_SOURCE for exec case because we could be
+ execing a non-cygwin process and we need to set the exit value before the
+ parent sees it. */
+ if (this != myself || is_toplevel_proc)
+ flags |= DUPLICATE_CLOSE_SOURCE;
+ bool res = DuplicateHandle (GetCurrentProcess (), wr_proc_pipe,
+ hProcess, &wr_proc_pipe, 0, FALSE, flags);
+ if (!res && WaitForSingleObject (hProcess, 0) != WAIT_OBJECT_0)
+ {
+ wr_proc_pipe = orig_wr_proc_pipe;
+ warn_printf ("something failed for pid %d: res %d, hProcess %p, wr_proc_pipe %p vs. %p, %E",
+ res, pid, hProcess, wr_proc_pipe, orig_wr_proc_pipe);
+ }
+ else
+ {
+ wr_proc_pipe_owner = dwProcessId;
+ sigproc_printf ("duped wr_proc_pipe %p for pid %d(%u)", wr_proc_pipe,
+ pid, dwProcessId);
+ }
+ return orig_wr_proc_pipe;
+}
+
/* function to set up the process pipe and kick off proc_waiter */
bool
pinfo::wait ()
{
+ /* If rd_proc_pipe != NULL we're in an execed process which already has
+ grabbed the read end of the pipe from the previous cygwin process running
+ with this pid. */
+ if (!rd_proc_pipe)
+ {
+ /* FIXME: execed processes should be able to wait for pids that were started
+ by the process which execed them. */
+ if (!CreatePipe (&rd_proc_pipe, &((*this)->wr_proc_pipe), &sec_none_nih, 16))
+ {
+ system_printf ("Couldn't create pipe tracker for pid %d, %E",
+ (*this)->pid);
+ return false;
+ }
+
+ if (!(*this)->dup_proc_pipe (hProcess))
+ {
+ system_printf ("Couldn't duplicate pipe topid %d(%p), %E", (*this)->pid, hProcess);
+ return false;
+ }
+ }
+
preserve (); /* Preserve the shared memory associated with the pinfo */
waiter_ready = false;
@@ -1000,6 +1054,14 @@ pinfo::wait ()
return true;
}
+void
+_pinfo::sync_proc_pipe ()
+{
+ if (wr_proc_pipe && wr_proc_pipe != INVALID_HANDLE_VALUE)
+ while (wr_proc_pipe_owner != GetCurrentProcessId ())
+ yield ();
+}
+
/* function to send a "signal" to the parent when something interesting happens
in the child. */
bool
@@ -1012,18 +1074,21 @@ _pinfo::alert_parent (char sig)
FIXME: Is there a race here if we run this while another thread is attempting
to exec()? */
- if (my_wr_proc_pipe)
+ if (wr_proc_pipe == INVALID_HANDLE_VALUE || !myself->wr_proc_pipe || have_execed)
+ /* no parent */;
+ else
{
- if (WriteFile (my_wr_proc_pipe, &sig, 1, &nb, NULL))
+ sync_proc_pipe ();
+ if (WriteFile (wr_proc_pipe, &sig, 1, &nb, NULL))
/* all is well */;
else if (GetLastError () != ERROR_BROKEN_PIPE)
debug_printf ("sending %d notification to parent failed, %E", sig);
else
{
ppid = 1;
- HANDLE closeit = my_wr_proc_pipe;
- my_wr_proc_pipe = NULL;
- ForceCloseHandle1 (closeit, wr_proc_pipe);
+ HANDLE closeit = wr_proc_pipe;
+ wr_proc_pipe = INVALID_HANDLE_VALUE;
+ CloseHandle (closeit);
}
}
return (bool) nb;
diff --git a/winsup/cygwin/pinfo.h b/winsup/cygwin/pinfo.h
index c8eedea2f..62ddcb79e 100644
--- a/winsup/cygwin/pinfo.h
+++ b/winsup/cygwin/pinfo.h
@@ -111,6 +111,8 @@ public:
char *cwd (size_t &);
char *cmdline (size_t &);
bool set_ctty (class fhandler_termios *, int);
+ HANDLE dup_proc_pipe (HANDLE) __attribute__ ((regparm(2)));
+ void sync_proc_pipe ();
bool alert_parent (char);
int __stdcall kill (siginfo_t&) __attribute__ ((regparm (2)));
bool __stdcall exists () __attribute__ ((regparm (1)));
@@ -121,6 +123,8 @@ public:
HANDLE exec_sendsig;
DWORD exec_dwProcessId;
public:
+ HANDLE wr_proc_pipe;
+ DWORD wr_proc_pipe_owner;
friend class pinfo_minimal;
};
@@ -139,7 +143,6 @@ public:
HANDLE hProcess;
HANDLE rd_proc_pipe;
pinfo_minimal (): h (NULL), hProcess (NULL), rd_proc_pipe (NULL) {}
- void set_rd_proc_pipe (HANDLE& h) {rd_proc_pipe = h;}
friend class pinfo;
};
diff --git a/winsup/cygwin/pipe.cc b/winsup/cygwin/pipe.cc
index 6a88d4f1c..52f2ba058 100644
--- a/winsup/cygwin/pipe.cc
+++ b/winsup/cygwin/pipe.cc
@@ -211,22 +211,10 @@ fhandler_pipe::create (LPSECURITY_ATTRIBUTES sa_ptr, PHANDLE r, PHANDLE w,
psize = DEFAULT_PIPEBUFSIZE;
char pipename[MAX_PATH];
- size_t len = __small_sprintf (pipename, PIPE_INTRO "%S-",
+ const size_t len = __small_sprintf (pipename, PIPE_INTRO "%S-",
&cygheap->installation_key);
- DWORD pipe_mode = PIPE_READMODE_BYTE;
- if (!name)
- pipe_mode |= pipe_byte ? PIPE_TYPE_BYTE : PIPE_TYPE_MESSAGE;
- else
- pipe_mode |= PIPE_TYPE_MESSAGE;
-
- if (!name || (open_mode & PIPE_ADD_PID))
- {
- len += __small_sprintf (pipename + len, "%u-", GetCurrentProcessId ());
- open_mode &= ~PIPE_ADD_PID;
- }
-
if (name)
- len += __small_sprintf (pipename + len, "%s", name);
+ strcpy (pipename + len, name);
open_mode |= PIPE_ACCESS_INBOUND;
@@ -238,12 +226,10 @@ fhandler_pipe::create (LPSECURITY_ATTRIBUTES sa_ptr, PHANDLE r, PHANDLE w,
{
static volatile ULONG pipe_unique_id;
if (!name)
- __small_sprintf (pipename + len, "pipe-%p",
- InterlockedIncrement ((LONG *) &pipe_unique_id));
+ __small_sprintf (pipename + len, "pipe-%p-%p", myself->pid,
+ InterlockedIncrement ((LONG *) &pipe_unique_id));
- debug_printf ("name %s, size %lu, mode %s", pipename, psize,
- (pipe_mode & PIPE_TYPE_MESSAGE)
- ? "PIPE_TYPE_MESSAGE" : "PIPE_TYPE_BYTE");
+ debug_printf ("CreateNamedPipe: name %s, size %lu", pipename, psize);
/* Use CreateNamedPipe instead of CreatePipe, because the latter
returns a write handle that does not permit FILE_READ_ATTRIBUTES
@@ -260,7 +246,8 @@ fhandler_pipe::create (LPSECURITY_ATTRIBUTES sa_ptr, PHANDLE r, PHANDLE w,
definitely required for pty handling since fhandler_pty_master
writes to the pipe in chunks, terminated by newline when CANON mode
is specified. */
- *r = CreateNamedPipe (pipename, open_mode, pipe_mode, 1, psize,
+ *r = CreateNamedPipe (pipename, open_mode,
+ PIPE_TYPE_MESSAGE | PIPE_READMODE_BYTE, 1, psize,
psize, NMPWAIT_USE_DEFAULT_WAIT, sa_ptr);
if (*r != INVALID_HANDLE_VALUE)
diff --git a/winsup/cygwin/poll.cc b/winsup/cygwin/poll.cc
index cbb68bf04..ea86ab5aa 100644
--- a/winsup/cygwin/poll.cc
+++ b/winsup/cygwin/poll.cc
@@ -152,9 +152,9 @@ ppoll (struct pollfd *fds, nfds_t nfds, const struct timespec *timeout_ts,
? -1
: (timeout_ts->tv_sec * 1000 + timeout_ts->tv_nsec / 1000000);
if (sigmask)
- set_signal_mask (_my_tls.sigmask, *sigmask);
+ set_signal_mask (*sigmask, _my_tls.sigmask);
int ret = poll (fds, nfds, timeout);
if (sigmask)
- set_signal_mask (_my_tls.sigmask, oldset);
+ set_signal_mask (oldset, _my_tls.sigmask);
return ret;
}
diff --git a/winsup/cygwin/posix.sgml b/winsup/cygwin/posix.sgml
index 0c6f6e502..5bb27d7c7 100644
--- a/winsup/cygwin/posix.sgml
+++ b/winsup/cygwin/posix.sgml
@@ -1115,7 +1115,6 @@ also IEEE Std 1003.1-2008 (POSIX.1-2008).</para>
get_phys_pages
get_nprocs
get_nprocs_conf
- getmntent_r
getopt_long
getopt_long_only
getpt
@@ -1127,7 +1126,6 @@ also IEEE Std 1003.1-2008 (POSIX.1-2008).</para>
lsetxattr
memmem
mempcpy
- memrchr
mkostemp
mkostemps
pipe2
@@ -1459,11 +1457,10 @@ CLOCK_REALTIME and CLOCK_MONOTONIC. <function>clock_setres</function>,
<function>clock_settime</function>, and <function>timer_create</function>
currently support only CLOCK_REALTIME.</para>
-<para>BSD file locks created via <function>flock</function> are only
-propagated to the direct parent process, not to grand parents or sibling
-processes. The locks are only valid in the creating process, its parent,
-and subsequently started child processes sharing the same file descriptor.
-</para>
+<para>BSD file locks created via <function>flock</function> are not
+propagated to the parent process and sibling processes. The locks are
+only valid in the creating process and subsequently started child processes
+sharing the same file descriptor.</para>
<para><function>fpclassify</function>, <function>isfinite</function>,
<function>isgreater</function>, <function>isgreaterequal</function>,
diff --git a/winsup/cygwin/posix_ipc.cc b/winsup/cygwin/posix_ipc.cc
index d09abf190..b9d224e43 100644
--- a/winsup/cygwin/posix_ipc.cc
+++ b/winsup/cygwin/posix_ipc.cc
@@ -119,12 +119,14 @@ ipc_mutex_init (HANDLE *pmtx, const char *name)
static int
ipc_mutex_lock (HANDLE mtx)
{
- switch (cancelable_wait (mtx, cw_infinite, cw_sig_eintr | cw_cancel | cw_cancel_self))
+ HANDLE h[2] = { mtx, signal_arrived };
+
+ switch (WaitForMultipleObjects (2, h, FALSE, INFINITE))
{
case WAIT_OBJECT_0:
case WAIT_ABANDONED_0:
return 0;
- case WAIT_SIGNALED:
+ case WAIT_OBJECT_0 + 1:
set_errno (EINTR);
return 1;
default:
@@ -172,12 +174,11 @@ ipc_cond_init (HANDLE *pevt, const char *name, char sr)
static int
ipc_cond_timedwait (HANDLE evt, HANDLE mtx, const struct timespec *abstime)
{
- HANDLE w4[4] = { evt, };
+ HANDLE w4[4] = { evt, signal_arrived, NULL, NULL };
DWORD cnt = 2;
DWORD timer_idx = 0;
int ret = 0;
- set_signal_arrived here (w4[1]);
if ((w4[cnt] = pthread::get_cancel_event ()) != NULL)
++cnt;
if (abstime)
diff --git a/winsup/cygwin/pseudo-reloc.cc b/winsup/cygwin/pseudo-reloc.cc
index 04d5d9862..ea10d9220 100644
--- a/winsup/cygwin/pseudo-reloc.cc
+++ b/winsup/cygwin/pseudo-reloc.cc
@@ -20,6 +20,8 @@
# define NO_COPY
#else
# include "winsup.h"
+# include <wchar.h>
+# include <ntdef.h>
# include <sys/cygwin.h>
/* custom status code: */
# define STATUS_ILLEGAL_DLL_PSEUDO_RELOCATION ((NTSTATUS) 0xe0000269)
@@ -85,7 +87,7 @@ __report_error (const char *msg, ...)
* cygwin ptys.
*/
char buf[128];
- WCHAR module[MAX_PATH];
+ wchar_t module[MAX_PATH];
char * posix_module = NULL;
static const char UNKNOWN_MODULE[] = "<unknown module>: ";
static const char CYGWIN_FAILURE_MSG[] = "Cygwin runtime failure: ";
@@ -326,10 +328,10 @@ do_pseudo_reloc (void * start, void * end, void * base)
}
#ifdef __CYGWIN__
-extern "C" void
+void
_pei386_runtime_relocator (per_process *u)
{
- if (u && CYGWIN_VERSION_USE_PSEUDO_RELOC_IN_DLL (u))
+ if (CYGWIN_VERSION_USE_PSEUDO_RELOC_IN_DLL (u))
do_pseudo_reloc (u->pseudo_reloc_start, u->pseudo_reloc_end, u->image_base);
}
#else
diff --git a/winsup/cygwin/regex/regcomp.c b/winsup/cygwin/regex/regcomp.c
index b44ba2c62..30502f7f1 100644
--- a/winsup/cygwin/regex/regcomp.c
+++ b/winsup/cygwin/regex/regcomp.c
@@ -324,10 +324,7 @@ p_ere(struct parse *p,
conc = HERE();
while (MORE() && (c = PEEK()) != '|' && c != stop)
p_ere_exp(p);
-#ifndef __CYGWIN__
- /* undefined behaviour according to POSIX; allowed by glibc */
(void)REQUIRE(HERE() != conc, REG_EMPTY); /* require nonempty */
-#endif
if (!EAT('|'))
break; /* NOTE BREAK OUT */
diff --git a/winsup/cygwin/registry.cc b/winsup/cygwin/registry.cc
index 9f791d2df..3047e269c 100644
--- a/winsup/cygwin/registry.cc
+++ b/winsup/cygwin/registry.cc
@@ -115,7 +115,7 @@ reg_key::build_reg (HKEY top, REGSAM access, va_list av)
if (!NT_SUCCESS (status))
{
key_is_invalid = status;
- debug_printf ("failed to create key %S in the registry", &uname);
+ debug_printf ("failed to create key %S in the registry", uname);
break;
}
}
diff --git a/winsup/cygwin/release/1.7.10 b/winsup/cygwin/release/1.7.10
new file mode 100644
index 000000000..33a2f20dd
--- /dev/null
+++ b/winsup/cygwin/release/1.7.10
@@ -0,0 +1,126 @@
+What's new:
+-----------
+
+- New getconf tool for querying confstr(3), pathconf(3), sysconf(3), and
+ limits.h configuration.
+
+- New tzset utility to generate a POSIX-compatible TZ environment
+ variable from the Windows timezone settings.
+
+- The passwd tool now allows an administrator to use the -R command for
+ other user accounts: passwd -R username.
+
+- Experimental: Change the way sockets are created so that Cygwin always
+ circumvents so-called "layered service providers" (LSPs) starting with
+ Windows Vista.
+
+- signal handler functions are now dispatched in threads other than the
+ main thread.
+
+- Support NcFsd filesystem.
+
+- clock_gettime(3) and clock_getres(3) accept per-process and per-thread
+ CPU-time clocks, including CLOCK_PROCESS_CPUTIME_ID and
+ CLOCK_THREAD_CPUTIME_ID.
+
+- New pthread functions:
+
+ - Spin Locks: pthread_spin_destroy, pthread_spin_init, pthread_spin_lock,
+ pthread_spin_trylock, pthread_spin_unlock.
+
+ - Stack management: pthread_attr_getstack, pthread_attr_getstackaddr,
+ pthread_attr_getguardsize, pthread_attr_setstack, pthread_attr_setstackaddr,
+ pthread_attr_setguardsize, pthread_getattr_np.
+
+ - Clock Selection: pthread_getcpuclockid, pthread_condattr_getclock,
+ pthread_condattr_setclock.
+
+ - Scheduling: pthread_setschedprio.
+
+ - Signalling: pthread_sigqueue.
+
+- Add /proc/devices, /proc/misc, /proc/sysvipc, /proc/swaps.
+
+- Make various system functions thread cancelation points per POSIX.
+
+- Add ioctl FIONREAD handling for non-sockets.
+
+- dlopen now supports the Glibc-specific RTLD_NODELETE and RTLD_NOOPEN flags.
+
+- The printf and wprintf families of functions now support the %m conversion
+ flag.
+
+- Execed processes now inherit the children of their predecessor.
+
+- Fifos have been rewritten and should now be more reliable.
+
+- GNU/glibc error.h error reporting functions: error, error_at_line,
+ error_message_count, error_one_per_line, error_print_progname.
+
+- C99 <tgmath.h> type-generic macros.
+
+- Other new API: clock_getcpuclockid, clock_nanosleep, clock_settime, __fpurge,
+ get_current_dir_name, getgrouplist, getpt, ppoll, psiginfo, psignal,
+ ptsname_r, sys_siglist, sysinfo.
+
+- cygwin_conv_path_list finally supports CCP_WIN_W_TO_POSIX and
+ CCP_POSIX_TO_WIN_W conversions.
+
+
+What changed:
+-------------
+
+- Drop support for Windows NT4.
+
+- The CYGWIN=tty mode using pipes to communicate with the console in a pseudo
+ tty-like mode has been removed. Either just use the normal Windows console
+ as is, or use a terminal application like mintty.
+
+- The CYGWIN environment variable options "envcache", "strip_title", "title",
+ "tty", and "upcaseenv" have been removed.
+
+- New heap management. Drop registry setting "heap_chunk_in_mb" in favor of
+ a new per-executable setting in the executable file header which can be set
+ using the peflags tool. Drop registry setting "heap_slop_in_mb" entirely.
+
+- Revamp console and pseudo tty handling. Rename /dev/ttyX to /dev/consX,
+ /dev/ttyX to /dev/ptyX.
+
+- Improve fork/exec performance on 64 bit systems.
+
+- Improve Ctrl-C handling in console.
+
+- Try harder to let fork not fail if DLLs are moved in memory which should,
+ in some cases, minimize the need for rebaseall.
+
+- Try harder to send SIGHUP to children when process group leader fails.
+
+- Deal with Windows problem where non-blocking pipe I/O was not flushed
+ properly on close.
+
+- Attempt to regularize most syscall-related strace output.
+
+- Improve behavior of Cygwin when started from a 64-bit process, especially
+ under Windows 2003.
+
+- Improve multi-thread/reentrancy safety with syscalls that deal with fds.
+
+- dlopen can now find "cygFOO.dll", even if the caller specified "libFOO.so".
+ This is supposed to support applications which are no aware of Windows DLLs.
+
+- Make accept(2), poll(2) and shutdown(2) behave more like on Linux.
+
+- Raise max number of mount points from 30 to 64.
+
+- Output of /proc/maps is closer to what Linux prints and much more useful to
+ examine process VM layout.
+
+- /proc/loadavg now shows the number of currently running processes and the
+ total number of processes.
+
+- /proc/version now shows the username of whomever compiled the Cygwin DLL
+ as well as the version of GCC used when compiling.
+
+- Various assorted bugfixes and improvements.
+
+- Preliminary, no guarantee, may be broken in subtle ways, Windows 8 support.
diff --git a/winsup/cygwin/release/1.7.11 b/winsup/cygwin/release/1.7.11
new file mode 100644
index 000000000..d4e0911d2
--- /dev/null
+++ b/winsup/cygwin/release/1.7.11
@@ -0,0 +1,29 @@
+What's new:
+-----------
+
+- New pldd command for listing DLLs loaded by a process.
+
+- New API: scandirat.
+
+
+What changed:
+-------------
+
+- Fixed problem where background Cygwin processes kept the windows
+ console window from exiting.
+
+- Change the way remote shares mapped to drive letters are recognized
+ when creating the cygdrive directory. If Windows claims the drive
+ is unavailable, don't show it in the cygdrive directory listing.
+
+- Lower the stack pressure in some Cygwin calls by reducing the buffer
+ space allocated on the stack.
+
+- Raise default stacksize of pthreads from 512K to 1 Meg. It can still
+ be changed using the pthread_attr_setstacksize call.
+
+- process.h header has been moved back from /usr/include/cygwin to
+ /usr/include.
+
+- Make <sys/wait.h> header C++ clean.
+
diff --git a/winsup/cygwin/sched.cc b/winsup/cygwin/sched.cc
index e990c996c..9c8aa0467 100644
--- a/winsup/cygwin/sched.cc
+++ b/winsup/cygwin/sched.cc
@@ -21,9 +21,7 @@
#include <unistd.h>
#include "registry.h"
-#ifndef __MINGW64_VERSION_MAJOR
extern "C" HWND WINAPI GetForegroundWindow();
-#endif
/* Win32 priority to UNIX priority Mapping.
For now, I'm just following the spec: any range of priorities is ok.
diff --git a/winsup/cygwin/sec_acl.cc b/winsup/cygwin/sec_acl.cc
index 14cb88667..b2fd3f4d7 100644
--- a/winsup/cygwin/sec_acl.cc
+++ b/winsup/cygwin/sec_acl.cc
@@ -1,7 +1,7 @@
/* sec_acl.cc: Sun compatible ACL functions.
Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2009, 2010, 2011 Red Hat, Inc.
Written by Corinna Vinschen <corinna@vinschen.de>
@@ -451,13 +451,13 @@ acl32 (const char *path, int cmd, int nentries, __aclent32_t *aclbufp)
fhandler_base *fh = build_fh_name (path, PC_SYM_FOLLOW | PC_KEEP_HANDLE,
stat_suffixes);
- if (!fh || !fh->exists ())
- set_errno (ENOENT);
- else if (fh->error ())
+ if (fh->error ())
{
debug_printf ("got %d error from build_fh_name", fh->error ());
set_errno (fh->error ());
}
+ else if (!fh->exists ())
+ set_errno (ENOENT);
else
res = fh->facl (cmd, nentries, aclbufp);
diff --git a/winsup/cygwin/sec_helper.cc b/winsup/cygwin/sec_helper.cc
index 0b505a7e8..eee4886b1 100644
--- a/winsup/cygwin/sec_helper.cc
+++ b/winsup/cygwin/sec_helper.cc
@@ -1,7 +1,7 @@
/* sec_helper.cc: NT security helper functions
Copyright 2000, 2001, 2002, 2003, 2004, 2006, 2007, 2008, 2009,
- 2010, 2011, 2012 Red Hat, Inc.
+ 2010, 2011 Red Hat, Inc.
Written by Corinna Vinschen <corinna@vinschen.de>
@@ -25,10 +25,6 @@ details. */
#include "pwdgrp.h"
#include "ntdll.h"
-#ifndef __MINGW64_VERSION_MAJOR
-#define SECURITY_NT_NON_UNIQUE SECURITY_NT_NON_UNIQUE_RID
-#endif
-
/* General purpose security attribute objects for global use. */
SECURITY_ATTRIBUTES NO_COPY sec_none;
SECURITY_ATTRIBUTES NO_COPY sec_none_nih;
@@ -179,7 +175,7 @@ cygsid::get_sid (DWORD s, DWORD cnt, DWORD *r, bool well_known)
well_known_sid = well_known;
else
well_known_sid = (s != SECURITY_NT_AUTH
- || r[0] != SECURITY_NT_NON_UNIQUE);
+ || r[0] != SECURITY_NT_NON_UNIQUE_RID);
return psid;
}
@@ -378,11 +374,7 @@ static const struct {
{ SE_CREATE_GLOBAL_NAME, false },
{ SE_TRUSTED_CREDMAN_ACCESS_NAME, false },
{ SE_RELABEL_NAME, true },
-#ifndef __MINGW64_VERSION_MAJOR
{ SE_INCREASE_WORKING_SET_NAME, false },
-#else
- { SE_INC_WORKING_SET_NAME, false },
-#endif
{ SE_TIME_ZONE_NAME, true },
{ SE_CREATE_SYMBOLIC_LINK_NAME, true }
};
@@ -563,7 +555,7 @@ PSECURITY_ATTRIBUTES __stdcall
__sec_user (PVOID sa_buf, PSID sid1, PSID sid2, DWORD access2, BOOL inherit)
{
PSECURITY_ATTRIBUTES psa = (PSECURITY_ATTRIBUTES) sa_buf;
- PISECURITY_DESCRIPTOR psd = (PISECURITY_DESCRIPTOR)
+ PSECURITY_DESCRIPTOR psd = (PSECURITY_DESCRIPTOR)
((char *) sa_buf + sizeof (*psa));
PACL acl = (PACL) ((char *) sa_buf + sizeof (*psa) + sizeof (*psd));
NTSTATUS status;
@@ -586,64 +578,6 @@ __sec_user (PVOID sa_buf, PSID sid1, PSID sid2, DWORD access2, BOOL inherit)
return psa;
}
-/* Helper function to create a file security descriptor which allows
- full access to admins, system, and the sid given as parameter. See
- try_to_bin for how it's used. */
-
-PSECURITY_DESCRIPTOR
-_recycler_sd (void *buf, bool users, bool dir)
-{
- NTSTATUS status;
- PISECURITY_DESCRIPTOR psd = (PISECURITY_DESCRIPTOR) buf;
-
- if (!psd)
- return NULL;
- RtlCreateSecurityDescriptor (psd, SECURITY_DESCRIPTOR_REVISION);
- PACL dacl = (PACL) (psd + 1);
- /* Pre-Vista, the per-user recycler dir has a rather too complicated
- ACL by default, which has distinct ACEs for inheritable and non-inheritable
- permissions. However, this ACL is practically equivalent to the ACL
- created since Vista. Therefore we simplify our job here and create the
- pre-Vista permissions the same way as on Vista and later. */
- RtlCreateAcl (dacl, MAX_DACL_LEN (3), ACL_REVISION);
- RtlAddAccessAllowedAceEx (dacl, ACL_REVISION,
- dir ? CONTAINER_INHERIT_ACE | OBJECT_INHERIT_ACE
- : NO_INHERITANCE,
- FILE_ALL_ACCESS, well_known_admins_sid);
- RtlAddAccessAllowedAceEx (dacl, ACL_REVISION,
- dir ? CONTAINER_INHERIT_ACE | OBJECT_INHERIT_ACE
- : NO_INHERITANCE,
- FILE_ALL_ACCESS, well_known_system_sid);
- if (users)
- RtlAddAccessAllowedAceEx (dacl, ACL_REVISION, NO_PROPAGATE_INHERIT_ACE,
- FILE_GENERIC_READ | FILE_GENERIC_EXECUTE
- | FILE_APPEND_DATA | FILE_WRITE_ATTRIBUTES,
- well_known_users_sid);
- else
- RtlAddAccessAllowedAceEx (dacl, ACL_REVISION,
- dir ? CONTAINER_INHERIT_ACE
- | OBJECT_INHERIT_ACE
- : NO_INHERITANCE,
- FILE_ALL_ACCESS, cygheap->user.sid ());
- LPVOID ace;
- status = RtlFirstFreeAce (dacl, &ace);
- if (!NT_SUCCESS (status))
- {
- debug_printf ("RtlFirstFreeAce: %p", status);
- return NULL;
- }
- dacl->AclSize = (char *) ace - (char *) dacl;
- RtlSetDaclSecurityDescriptor (psd, TRUE, dacl, FALSE);
- /* If the directory DACL is not marked as protected, shell32 thinks
- the recycle dir is corrupted. As soon as Explorer accesses the
- Recycler, the user will get a GUI dialog "The Recycle Bin on X:\
- is corrupted. Do you want to empty the Recycle Bin for this drive?"
- Of course we want to avoid that. */
- if (dir)
- psd->Control |= SE_DACL_PROTECTED;
- return psd;
-}
-
/* Helper function to create an event security descriptor which only allows
specific access to everyone. Only the creating process has all access
rights. */
@@ -652,7 +586,7 @@ PSECURITY_DESCRIPTOR
_everyone_sd (void *buf, ACCESS_MASK access)
{
NTSTATUS status;
- PISECURITY_DESCRIPTOR psd = (PISECURITY_DESCRIPTOR) buf;
+ PSECURITY_DESCRIPTOR psd = (PSECURITY_DESCRIPTOR) buf;
if (psd)
{
diff --git a/winsup/cygwin/security.cc b/winsup/cygwin/security.cc
index cf3888bd3..3afd2b458 100644
--- a/winsup/cygwin/security.cc
+++ b/winsup/cygwin/security.cc
@@ -1,7 +1,7 @@
/* security.cc: NT file access control functions
Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
Originaly written by Gunther Ebert, gunther.ebert@ixos-leipzig.de
Completely rewritten by Corinna Vinschen <corinna@vinschen.de>
@@ -469,13 +469,15 @@ bool
add_access_allowed_ace (PACL acl, int offset, DWORD attributes,
PSID sid, size_t &len_add, DWORD inherit)
{
- NTSTATUS status = RtlAddAccessAllowedAceEx (acl, ACL_REVISION, inherit,
- attributes, sid);
+ NTSTATUS status = RtlAddAccessAllowedAce (acl, ACL_REVISION, attributes, sid);
if (!NT_SUCCESS (status))
{
__seterrno_from_nt_status (status);
return false;
}
+ ACCESS_ALLOWED_ACE *ace;
+ if (inherit && NT_SUCCESS (RtlGetAce (acl, offset, (PVOID *) &ace)))
+ ace->Header.AceFlags |= inherit;
len_add += sizeof (ACCESS_ALLOWED_ACE) - sizeof (DWORD) + RtlLengthSid (sid);
return true;
}
@@ -484,13 +486,15 @@ bool
add_access_denied_ace (PACL acl, int offset, DWORD attributes,
PSID sid, size_t &len_add, DWORD inherit)
{
- NTSTATUS status = RtlAddAccessDeniedAceEx (acl, ACL_REVISION, inherit,
- attributes, sid);
+ NTSTATUS status = RtlAddAccessDeniedAce (acl, ACL_REVISION, attributes, sid);
if (!NT_SUCCESS (status))
{
__seterrno_from_nt_status (status);
return false;
}
+ ACCESS_DENIED_ACE *ace;
+ if (inherit && NT_SUCCESS (RtlGetAce (acl, offset, (PVOID *) &ace)))
+ ace->Header.AceFlags |= inherit;
len_add += sizeof (ACCESS_DENIED_ACE) - sizeof (DWORD) + RtlLengthSid (sid);
return true;
}
diff --git a/winsup/cygwin/security.h b/winsup/cygwin/security.h
index 2ac101a69..6629260d2 100644
--- a/winsup/cygwin/security.h
+++ b/winsup/cygwin/security.h
@@ -1,7 +1,7 @@
/* security.h: security declarations
Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
- 2010, 2011, 2012 Red Hat, Inc.
+ 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -9,7 +9,8 @@ This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
-#pragma once
+#ifndef _SECURITY_H
+#define _SECURITY_H
#include <accctrl.h>
@@ -222,12 +223,9 @@ public:
/* += adds a "normal" SID, *= adds a well-known SID. See comment in class
cygsid above. */
- BOOL operator+= (cygsid &si) { return add ((PSID) si,
- si.is_well_known_sid ()); }
+ BOOL operator+= (cygsid &si) { return add ((PSID) si, false); }
BOOL operator+= (const char *sidstr) { cygsid nsi (sidstr);
- return add ((PSID) nsi,
- nsi.is_well_known_sid ());
- }
+ return add ((PSID) nsi, false); }
BOOL operator+= (const PSID psid) { return add (psid, false); }
BOOL operator*= (cygsid &si) { return add ((PSID) si, true); }
BOOL operator*= (const char *sidstr) { cygsid nsi (sidstr);
@@ -475,13 +473,6 @@ extern SECURITY_ATTRIBUTES sec_none, sec_none_nih, sec_all, sec_all_nih;
extern SECURITY_ATTRIBUTES *__stdcall __sec_user (PVOID, PSID, PSID,
DWORD, BOOL)
__attribute__ ((regparm (3)));
-
-extern PSECURITY_DESCRIPTOR _recycler_sd (void *buf, bool users, bool dir);
-#define recycler_sd(users,dir) \
- (_recycler_sd (alloca (sizeof (SECURITY_DESCRIPTOR) + MAX_DACL_LEN (3)), \
- (users), \
- (dir)))
-
extern PSECURITY_DESCRIPTOR _everyone_sd (void *buf, ACCESS_MASK access);
#define everyone_sd(access) (_everyone_sd (alloca (SD_MIN_SIZE), (access)))
@@ -512,3 +503,5 @@ sec_user (SECURITY_ATTRIBUTES *sa_buf, PSID sid1, PSID sid2 = NULL,
{
return __sec_user (sa_buf, sid1, sid2, access2, TRUE);
}
+
+#endif /*_SECURITY_H*/
diff --git a/winsup/cygwin/select.cc b/winsup/cygwin/select.cc
index 3122c8203..316073e00 100644
--- a/winsup/cygwin/select.cc
+++ b/winsup/cygwin/select.cc
@@ -21,9 +21,9 @@ details. */
#include <wingdi.h>
#include <winuser.h>
+#include <netdb.h>
#define USE_SYS_TYPES_FD_SET
#include <winsock2.h>
-#include <netdb.h>
#include "cygerrno.h"
#include "security.h"
#include "path.h"
@@ -34,7 +34,6 @@ details. */
#include "pinfo.h"
#include "sigproc.h"
#include "cygtls.h"
-#include "cygwait.h"
/*
* All these defines below should be in sys/types.h
@@ -73,13 +72,7 @@ typedef long fd_mask;
#define UNIX_FD_ZERO(p, n) \
memset ((caddr_t) (p), 0, sizeof_fd_set ((n)))
-#define allocfd_set(n) ({\
- size_t __sfds = sizeof_fd_set (n) + 8; \
- void *__res = alloca (__sfds); \
- memset (__res, 0, __sfds); \
- (fd_set *) __res; \
-})
-
+#define allocfd_set(n) ((fd_set *) memset (alloca (sizeof_fd_set (n)), 0, sizeof_fd_set (n)))
#define copyfd_set(to, from, n) memcpy (to, from, sizeof_fd_set (n));
#define set_handle_or_return_if_not_open(h, s) \
@@ -88,139 +81,91 @@ typedef long fd_mask;
{ \
(s)->thread_errno = EBADF; \
return -1; \
- }
+ } \
-static int select (int, fd_set *, fd_set *, fd_set *, DWORD);
-
-/* The main select code. */
+/* The main select code.
+ */
extern "C" int
cygwin_select (int maxfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
struct timeval *to)
{
+ select_stuff sel;
+ fd_set *dummy_readfds = allocfd_set (maxfds);
+ fd_set *dummy_writefds = allocfd_set (maxfds);
+ fd_set *dummy_exceptfds = allocfd_set (maxfds);
+
select_printf ("select(%d, %p, %p, %p, %p)", maxfds, readfds, writefds, exceptfds, to);
pthread_testcancel ();
- int res;
- if (maxfds < 0)
- {
- set_errno (EINVAL);
- res = -1;
- }
- else
- {
- /* Convert to milliseconds or INFINITE if to == NULL */
- DWORD ms = to ? (to->tv_sec * 1000) + (to->tv_usec / 1000) : INFINITE;
- if (ms == 0 && to->tv_usec)
- ms = 1; /* At least 1 ms granularity */
- if (to)
- select_printf ("to->tv_sec %d, to->tv_usec %d, ms %d", to->tv_sec, to->tv_usec, ms);
- else
- select_printf ("to NULL, ms %x", ms);
+ if (!readfds)
+ readfds = dummy_readfds;
+ if (!writefds)
+ writefds = dummy_writefds;
+ if (!exceptfds)
+ exceptfds = dummy_exceptfds;
- res = select (maxfds, readfds ?: allocfd_set (maxfds),
- writefds ?: allocfd_set (maxfds),
- exceptfds ?: allocfd_set (maxfds), ms);
- }
- syscall_printf ("%R = select(%d, %p, %p, %p, %p)", res, maxfds, readfds,
- writefds, exceptfds, to);
- return res;
-}
+ for (int i = 0; i < maxfds; i++)
+ if (!sel.test_and_set (i, readfds, writefds, exceptfds))
+ {
+ select_printf ("aborting due to test_and_set error");
+ return -1; /* Invalid fd, maybe? */
+ }
-/* This function is arbitrarily split out from cygwin_select to avoid odd
- gcc issues with the use of allocfd_set and improper constructor handling
- for the sel variable. */
-static int
-select (int maxfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
- DWORD ms)
-{
- int res = select_stuff::select_loop;
+ /* Convert to milliseconds or INFINITE if to == NULL */
+ DWORD ms = to ? (to->tv_sec * 1000) + (to->tv_usec / 1000) : INFINITE;
+ if (ms == 0 && to->tv_usec)
+ ms = 1; /* At least 1 ms granularity */
- LONGLONG start_time = gtod.msecs (); /* Record the current time for later use. */
+ if (to)
+ select_printf ("to->tv_sec %d, to->tv_usec %d, ms %d", to->tv_sec, to->tv_usec, ms);
+ else
+ select_printf ("to NULL, ms %x", ms);
- select_stuff sel;
- sel.return_on_signal = 0;
+ select_printf ("sel.always_ready %d", sel.always_ready);
/* Allocate some fd_set structures using the number of fds as a guide. */
fd_set *r = allocfd_set (maxfds);
fd_set *w = allocfd_set (maxfds);
fd_set *e = allocfd_set (maxfds);
- while (res == select_stuff::select_loop)
- {
- /* Build the select record per fd linked list and set state as
- needed. */
- for (int i = 0; i < maxfds; i++)
- if (!sel.test_and_set (i, readfds, writefds, exceptfds))
- {
- select_printf ("aborting due to test_and_set error");
- return -1; /* Invalid fd, maybe? */
- }
- select_printf ("sel.always_ready %d", sel.always_ready);
-
- /* Degenerate case. No fds to wait for. Just wait for time to run out
- or signal to arrive. */
- if (sel.start.next == NULL)
- switch (cygwait (ms))
- {
- case WAIT_SIGNALED:
- select_printf ("signal received");
- if (_my_tls.call_signal_handler ())
- res = select_stuff::select_loop; /* Emulate linux behavior */
- else
- {
- set_sig_errno (EINTR);
- res = select_stuff::select_error;
- }
- break;
- case WAIT_CANCELED:
- sel.destroy ();
- pthread::static_cancel_self ();
- /*NOTREACHED*/
- default:
- res = select_stuff::select_set_zero; /* Set res to zero below. */
- break;
- }
- else if (sel.always_ready || ms == 0)
- res = 0; /* Catch any active fds via
- sel.poll() below */
- else
- res = sel.wait (r, w, e, ms); /* wait for an fd to become
- become active or time out */
- select_printf ("res %d", res);
- if (res >= 0)
+ int res = 0;
+ sel.return_on_signal = &_my_tls == _main_tls;
+ /* Degenerate case. No fds to wait for. Just wait. */
+ if (sel.start.next == NULL)
+ while (!res)
+ switch (cygwait (ms))
{
- copyfd_set (readfds, r, maxfds);
- copyfd_set (writefds, w, maxfds);
- copyfd_set (exceptfds, e, maxfds);
- /* Actually set the bit mask from sel records */
- res = (res == select_stuff::select_set_zero) ? 0 : sel.poll (readfds, writefds, exceptfds);
- }
- /* Always clean up everything here. If we're looping then build it
- all up again. */
- sel.cleanup ();
- sel.destroy ();
- /* Recalculate the time remaining to wait if we are going to be looping. */
- if (res == select_stuff::select_loop && ms != INFINITE)
- {
- select_printf ("recalculating ms");
- LONGLONG now = gtod.msecs ();
- if (now > (start_time + ms))
- {
- select_printf ("timed out after verification");
- res = select_stuff::select_error;
- }
- else
- {
- ms -= (now - start_time);
- start_time = now;
- select_printf ("ms now %u", ms);
- }
+ case WAIT_OBJECT_0:
+ select_printf ("signal received");
+ _my_tls.call_signal_handler ();
+ if (!sel.return_on_signal)
+ continue; /* Emulate linux behavior */
+ set_sig_errno (EINTR);
+ res = -1;
+ break;
+ case WAIT_OBJECT_0 + 1:
+ sel.destroy ();
+ pthread::static_cancel_self ();
+ /*NOTREACHED*/
+ default:
+ res = 1; /* temporary flag. Will be set to zero below. */
+ break;
}
+ else if (sel.always_ready || ms == 0)
+ res = 0;
+ else
+ res = sel.wait (r, w, e, ms);
+ if (res >= 0)
+ {
+ copyfd_set (readfds, r, maxfds);
+ copyfd_set (writefds, w, maxfds);
+ copyfd_set (exceptfds, e, maxfds);
+ res = (res > 0) ? 0 : sel.poll (readfds, writefds, exceptfds);
}
- if (res < -1)
- res = -1;
+ syscall_printf ("%R = select(%d, %p, %p, %p, %p)", res, maxfds, readfds,
+ writefds, exceptfds, to);
return res;
}
@@ -240,11 +185,11 @@ pselect(int maxfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
tv.tv_usec = ts->tv_nsec / 1000;
}
if (set)
- set_signal_mask (_my_tls.sigmask, *set);
+ set_signal_mask (*set, _my_tls.sigmask);
int ret = cygwin_select (maxfds, readfds, writefds, exceptfds,
ts ? &tv : NULL);
if (set)
- set_signal_mask (_my_tls.sigmask, oldset);
+ set_signal_mask (oldset, _my_tls.sigmask);
return ret;
}
@@ -268,7 +213,7 @@ select_stuff::cleanup ()
inline void
select_stuff::destroy ()
{
- select_record *s;
+ select_record *s = &start;
select_record *snext = start.next;
select_printf ("deleting select records");
@@ -277,7 +222,6 @@ select_stuff::destroy ()
snext = s->next;
delete s;
}
- start.next = NULL;
}
select_stuff::~select_stuff ()
@@ -324,19 +268,24 @@ err:
}
/* The heart of select. Waits for an fd to do something interesting. */
-select_stuff::wait_states
+int
select_stuff::wait (fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
DWORD ms)
{
+ int wait_ret;
HANDLE w4[MAXIMUM_WAIT_OBJECTS];
select_record *s = &start;
- DWORD m = 0;
+ int m = 0;
+ int res = 0;
+ bool is_cancelable = false;
- set_signal_arrived here (w4[m++]);
+ w4[m++] = signal_arrived; /* Always wait for the arrival of a signal. */
if ((w4[m] = pthread::get_cancel_event ()) != NULL)
- m++;
+ {
+ ++m;
+ is_cancelable = true;
+ }
- DWORD startfds = m;
/* Loop through the select chain, starting up anything appropriate and
counting the number of active fds. */
while ((s = s->next))
@@ -344,76 +293,73 @@ select_stuff::wait (fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
if (m >= MAXIMUM_WAIT_OBJECTS)
{
set_sig_errno (EINVAL);
- return select_error;
+ return -1;
}
if (!s->startup (s, this))
{
s->set_select_errno ();
- return select_error;
- }
- if (s->h != NULL)
- {
- for (DWORD i = startfds; i < m; i++)
- if (w4[i] == s->h)
- goto next_while;
- w4[m++] = s->h;
+ return -1;
}
-next_while:;
+ if (s->h == NULL)
+ continue;
+ for (int i = 1; i < m; i++)
+ if (w4[i] == s->h)
+ goto next_while;
+ w4[m++] = s->h;
+ next_while:
+ continue;
}
- debug_printf ("m %d, ms %u", m, ms);
+ LONGLONG start_time = gtod.msecs (); /* Record the current time for later use. */
- DWORD wait_ret;
- if (!windows_used)
- wait_ret = WaitForMultipleObjects (m, w4, FALSE, ms);
- else
- /* Using MWMO_INPUTAVAILABLE is the officially supported solution for
- the problem that the call to PeekMessage disarms the queue state
- so that a subsequent MWFMO hangs, even if there are still messages
- in the queue. */
- wait_ret = MsgWaitForMultipleObjectsEx (m, w4, ms,
- QS_ALLINPUT | QS_ALLPOSTMESSAGE,
- MWMO_INPUTAVAILABLE);
- select_printf ("wait_ret %d. verifying", wait_ret);
-
- wait_states res;
- switch (wait_ret)
+ debug_printf ("m %d, ms %u", m, ms);
+ for (;;)
{
- case WAIT_OBJECT_0:
- select_printf ("signal received");
- /* Need to get rid of everything when a signal occurs since we can't
- be assured that a signal handler won't jump out of select entirely. */
- cleanup ();
- destroy ();
- if (_my_tls.call_signal_handler ())
- res = select_loop;
+ if (!windows_used)
+ wait_ret = WaitForMultipleObjects (m, w4, FALSE, ms);
else
+ /* Using MWMO_INPUTAVAILABLE is the officially supported solution for
+ the problem that the call to PeekMessage disarms the queue state
+ so that a subsequent MWFMO hangs, even if there are still messages
+ in the queue. */
+ wait_ret = MsgWaitForMultipleObjectsEx (m, w4, ms,
+ QS_ALLINPUT | QS_ALLPOSTMESSAGE,
+ MWMO_INPUTAVAILABLE);
+
+ switch (wait_ret)
{
+ case WAIT_OBJECT_0:
+ select_printf ("signal received");
+ _my_tls.call_signal_handler ();
+ if (!return_on_signal)
+ continue; /* Emulate linux behavior */
+ cleanup ();
set_sig_errno (EINTR);
- res = select_signalled; /* Cause loop exit in cygwin_select */
- }
- break;
- case WAIT_FAILED:
- system_printf ("WaitForMultipleObjects failed");
- s = &start;
- s->set_select_errno ();
- res = select_error;
- break;
- case WAIT_TIMEOUT:
- select_printf ("timed out");
- res = select_set_zero;
- break;
- case WAIT_OBJECT_0 + 1:
- if (startfds > 1)
- {
+ return -1;
+ case WAIT_OBJECT_0 + 1:
+ if (is_cancelable)
+ {
+ cleanup ();
+ destroy ();
+ pthread::static_cancel_self ();
+ }
+ /* This wasn't a cancel event. It was just a normal object to wait
+ for. */
+ break;
+ case WAIT_FAILED:
cleanup ();
- destroy ();
- pthread::static_cancel_self ();
- /*NOTREACHED*/
+ system_printf ("WaitForMultipleObjects failed");
+ s = &start;
+ s->set_select_errno ();
+ return -1;
+ case WAIT_TIMEOUT:
+ cleanup ();
+ select_printf ("timed out");
+ res = 1;
+ goto out;
}
- /* Fall through. This wasn't a cancel event. It was just a normal object
- to wait for. */
- default:
+
+ select_printf ("woke up. wait_ret %d. verifying", wait_ret);
s = &start;
bool gotone = false;
/* Some types of objects (e.g., consoles) wake up on "inappropriate" events
@@ -423,21 +369,40 @@ next_while:;
while ((s = s->next))
if (s->saw_error ())
{
+ cleanup ();
set_errno (s->saw_error ());
- res = select_error; /* Somebody detected an error */
- goto out;
+ return -1; /* Somebody detected an error */
}
else if ((((wait_ret >= m && s->windows_handle) || s->h == w4[wait_ret]))
&& s->verify (s, readfds, writefds, exceptfds))
gotone = true;
- if (!gotone)
- res = select_loop;
- else
- res = select_ok;
select_printf ("gotone %d", gotone);
- break;
+ if (gotone)
+ {
+ cleanup ();
+ goto out;
+ }
+
+ if (ms == INFINITE)
+ {
+ select_printf ("looping");
+ continue;
+ }
+ select_printf ("recalculating ms");
+
+ LONGLONG now = gtod.msecs ();
+ if (now > (start_time + ms))
+ {
+ cleanup ();
+ select_printf ("timed out after verification");
+ goto out;
+ }
+ ms -= (now - start_time);
+ start_time = now;
+ select_printf ("ms now %u", ms);
}
+
out:
select_printf ("returning %d", res);
return res;
@@ -587,15 +552,11 @@ peek_pipe (select_record *s, bool from_select)
switch (fh->get_major ())
{
case DEV_PTYM_MAJOR:
- {
- fhandler_pty_master *fhm = (fhandler_pty_master *) fh;
- fhm->flush_to_slave ();
- if (fhm->need_nl)
- {
- gotone = s->read_ready = true;
- goto out;
- }
- }
+ if (((fhandler_pty_master *) fh)->need_nl)
+ {
+ gotone = s->read_ready = true;
+ goto out;
+ }
break;
default:
if (fh->get_readahead_valid ())
@@ -1323,7 +1284,7 @@ thread_socket (void *arg)
/ MAXIMUM_WAIT_OBJECTS));
bool event = false;
- select_printf ("stuff_start %p, timeout %u", si->start, timeout);
+ select_printf ("stuff_start %p", si->start);
while (!event)
{
for (select_record *s = si->start; (s = s->next); )
@@ -1332,7 +1293,7 @@ thread_socket (void *arg)
event = true;
if (!event)
for (int i = 0; i < si->num_w4; i += MAXIMUM_WAIT_OBJECTS)
- switch (WaitForMultipleObjects (MIN (si->num_w4 - i,
+ switch (WaitForMultipleObjects (min (si->num_w4 - i,
MAXIMUM_WAIT_OBJECTS),
si->w4 + i, FALSE, timeout))
{
diff --git a/winsup/cygwin/select.h b/winsup/cygwin/select.h
index fe0c206d5..57cd59673 100644
--- a/winsup/cygwin/select.h
+++ b/winsup/cygwin/select.h
@@ -69,15 +69,6 @@ struct select_mailslot_info: public select_info
class select_stuff
{
public:
- enum wait_states
- {
- select_signalled = -3,
- select_loop = -2,
- select_error = -1,
- select_ok = 0,
- select_set_zero = 1
- };
-
~select_stuff ();
bool return_on_signal;
bool always_ready, windows_used;
@@ -91,15 +82,14 @@ public:
bool test_and_set (int i, fd_set *readfds, fd_set *writefds,
fd_set *exceptfds);
int poll (fd_set *readfds, fd_set *writefds, fd_set *exceptfds);
- wait_states wait (fd_set *readfds, fd_set *writefds, fd_set *exceptfds, DWORD ms);
+ int wait (fd_set *readfds, fd_set *writefds, fd_set *exceptfds, DWORD ms);
void cleanup ();
void destroy ();
-
select_stuff (): return_on_signal (false), always_ready (false),
windows_used (false), start (0),
- device_specific_pipe (NULL),
- device_specific_socket (NULL),
- device_specific_serial (NULL),
- device_specific_mailslot (NULL) {}
+ device_specific_pipe (0),
+ device_specific_socket (0),
+ device_specific_serial (0),
+ device_specific_mailslot (0) {}
};
#endif /* _SELECT_H_ */
diff --git a/winsup/cygwin/shared.cc b/winsup/cygwin/shared.cc
index 83402a2c8..7a0b2510b 100644
--- a/winsup/cygwin/shared.cc
+++ b/winsup/cygwin/shared.cc
@@ -377,8 +377,4 @@ memory_init (bool init_cygheap)
shared_info::create (); /* Initialize global shared memory */
user_info::create (false); /* Initialize per-user shared memory */
- /* Initialize tty list session stuff. Doesn't really belong here but
- this needs to be initialized before any tty or console manipulation
- happens and it is a common location. */
- tty_list::init_session ();
}
diff --git a/winsup/cygwin/signal.cc b/winsup/cygwin/signal.cc
index f3a3a3a07..649cda694 100644
--- a/winsup/cygwin/signal.cc
+++ b/winsup/cygwin/signal.cc
@@ -22,11 +22,10 @@ details. */
#include "fhandler.h"
#include "dtable.h"
#include "cygheap.h"
-#include "cygwait.h"
#define _SA_NORESTART 0x8000
-static int sigaction_worker (int, const struct sigaction *, struct sigaction *, bool)
+static int sigaction_worker (int, const struct sigaction *, struct sigaction *, bool, const char *)
__attribute__ ((regparm (3)));
#define sigtrapped(func) ((func) != SIG_IGN && (func) != SIG_DFL)
@@ -120,9 +119,12 @@ clock_nanosleep (clockid_t clk_id, int flags, const struct timespec *rqtp,
syscall_printf ("clock_nanosleep (%ld.%09ld)", rqtp->tv_sec, rqtp->tv_nsec);
- int rc = cancelable_wait (NULL, &timeout, cw_sig_eintr | cw_cancel | cw_cancel_self);
- if (rc == WAIT_SIGNALED)
- res = EINTR;
+ int rc = cancelable_wait (signal_arrived, &timeout);
+ if (rc == WAIT_OBJECT_0)
+ {
+ _my_tls.call_signal_handler ();
+ res = EINTR;
+ }
/* according to POSIX, rmtp is used only if !abstime */
if (rmtp && !abstime)
@@ -223,7 +225,7 @@ handle_sigprocmask (int how, const sigset_t *set, sigset_t *oldset, sigset_t& op
newmask = *set;
break;
}
- set_signal_mask (opmask, newmask);
+ set_signal_mask (newmask, opmask);
}
return 0;
}
@@ -376,7 +378,7 @@ abort (void)
sigset_t sig_mask;
sigfillset (&sig_mask);
sigdelset (&sig_mask, SIGABRT);
- set_signal_mask (_my_tls.sigmask, sig_mask);
+ set_signal_mask (sig_mask, _my_tls.sigmask);
raise (SIGABRT);
_my_tls.call_signal_handler (); /* Call any signal handler */
@@ -387,9 +389,9 @@ abort (void)
do_exit (SIGABRT); /* signal handler didn't exit. Goodbye. */
}
-static int __attribute__ ((regparm (3)))
+static int
sigaction_worker (int sig, const struct sigaction *newact,
- struct sigaction *oldact, bool isinternal)
+ struct sigaction *oldact, bool isinternal, const char *fnname)
{
int res = -1;
myfault efault;
@@ -442,15 +444,14 @@ sigaction_worker (int sig, const struct sigaction *newact,
}
out:
+ syscall_printf ("%R = %s(%d, %p, %p)", res, fnname, sig, newact, oldact);
return res;
}
extern "C" int
sigaction (int sig, const struct sigaction *newact, struct sigaction *oldact)
{
- int res = sigaction_worker (sig, newact, oldact, false);
- syscall_printf ("%R = sigaction(%d, %p, %p)", res, sig, newact, oldact);
- return res;
+ return sigaction_worker (sig, newact, oldact, false, "sigaction");
}
extern "C" int
@@ -517,25 +518,19 @@ sigfillset (sigset_t *set)
extern "C" int
sigsuspend (const sigset_t *set)
{
- int res = handle_sigsuspend (*set);
- syscall_printf ("%R = sigsuspend(%p)", res, set);
- return res;
+ return handle_sigsuspend (*set);
}
extern "C" int
sigpause (int signal_mask)
{
- int res = handle_sigsuspend ((sigset_t) signal_mask);
- syscall_printf ("%R = sigpause(%p)", res, signal_mask);
- return res;
+ return handle_sigsuspend ((sigset_t) signal_mask);
}
extern "C" int
pause (void)
{
- int res = handle_sigsuspend (_my_tls.sigmask);
- syscall_printf ("%R = pause()", res);
- return res;
+ return handle_sigsuspend (_my_tls.sigmask);
}
extern "C" int
@@ -553,9 +548,7 @@ siginterrupt (int sig, int flag)
act.sa_flags &= ~_SA_NORESTART;
act.sa_flags |= SA_RESTART;
}
- int res = sigaction_worker (sig, &act, NULL, true);
- syscall_printf ("%R = siginterrupt(%d, %p)", sig, flag);
- return res;
+ return sigaction_worker (sig, &act, NULL, true, "siginterrupt");
}
extern "C" int
@@ -571,18 +564,21 @@ extern "C" int
sigwaitinfo (const sigset_t *set, siginfo_t *info)
{
pthread_testcancel ();
+ HANDLE h;
+ h = _my_tls.event = CreateEvent (&sec_none_nih, FALSE, FALSE, NULL);
+ if (!h)
+ {
+ __seterrno ();
+ return -1;
+ }
- myfault efault;
- if (efault.faulted (EFAULT))
- return EFAULT;
-
- set_signal_mask (_my_tls.sigwait_mask, *set);
+ _my_tls.sigwait_mask = *set;
sig_dispatch_pending (true);
int res;
- switch (cancelable_wait (NULL, cw_infinite, cw_sig_eintr | cw_cancel | cw_cancel_self))
+ switch (WaitForSingleObject (h, INFINITE))
{
- case WAIT_SIGNALED:
+ case WAIT_OBJECT_0:
if (!sigismember (set, _my_tls.infodata.si_signo))
{
set_errno (EINTR);
@@ -601,6 +597,8 @@ sigwaitinfo (const sigset_t *set, siginfo_t *info)
res = -1;
}
+ _my_tls.event = NULL;
+ CloseHandle (h);
sigproc_printf ("returning signal %d", res);
return res;
}
diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc
index d893fc2d8..73b934b3d 100644
--- a/winsup/cygwin/sigproc.cc
+++ b/winsup/cygwin/sigproc.cc
@@ -43,10 +43,14 @@ int __sp_ln;
char NO_COPY myself_nowait_dummy[1] = {'0'};// Flag to sig_send that signal goes to
// current process but no wait is required
+HANDLE NO_COPY signal_arrived; // Event signaled when a signal has
+ // resulted in a user-specified
+ // function call
#define Static static NO_COPY
-Static HANDLE sig_hold; // Used to stop signal processing
+HANDLE NO_COPY sigCONT; // Used to "STOP" a process
+
Static bool sigheld; // True if holding signals
Static int nprocs; // Number of deceased children
@@ -441,19 +445,10 @@ proc_terminate ()
/* Clean out proc processes from the pid list. */
for (int i = 0; i < nprocs; i++)
{
- /* If we've execed then the execed process will handle setting ppid
- to 1 iff it is a Cygwin process. */
- if (!have_execed || !have_execed_cygwin)
- procs[i]->ppid = 1;
+ procs[i]->ppid = 1;
if (procs[i].wait_thread)
procs[i].wait_thread->terminate_thread ();
- /* Release memory associated with this process unless it is 'myself'.
- 'myself' is only in the procs table when we've execed. We reach
- here when the next process has finished initializing but we still
- can't free the memory used by 'myself' since it is used later on
- during cygwin tear down. */
- if (procs[i] != myself)
- procs[i].release ();
+ procs[i].release ();
}
nprocs = 0;
sync_proc_subproc.release ();
@@ -514,6 +509,17 @@ sig_dispatch_pending (bool fast)
sig_send (myself, fast ? __SIGFLUSHFAST : __SIGFLUSH);
}
+void __stdcall
+create_signal_arrived ()
+{
+ if (signal_arrived)
+ return;
+ /* local event signaled when main thread has been dispatched
+ to a signal handler function. */
+ signal_arrived = CreateEvent (&sec_none_nih, false, false, NULL);
+ ProtectHandle (signal_arrived);
+}
+
/* Signal thread initialization. Called from dll_crt0_1.
This routine starts the signal handling thread. */
void __stdcall
@@ -522,8 +528,7 @@ sigproc_init ()
char char_sa_buf[1024];
PSECURITY_ATTRIBUTES sa = sec_user_nih ((PSECURITY_ATTRIBUTES) char_sa_buf, cygheap->user.sid());
DWORD err = fhandler_pipe::create (sa, &my_readsig, &my_sendsig,
- sizeof (sigpacket), "sigwait",
- PIPE_ADD_PID);
+ sizeof (sigpacket), NULL, 0);
if (err)
{
SetLastError (err);
@@ -567,7 +572,7 @@ sig_send (_pinfo *p, int sig)
return 0;
else if (sig == __SIGNOHOLD || sig == __SIGEXIT)
{
- SetEvent (sig_hold);
+ SetEvent (sigCONT);
sigheld = false;
}
else if (&_my_tls == _main_tls)
@@ -823,8 +828,7 @@ child_info::child_info (unsigned in_cb, child_info_types chtype,
bool need_subproc_ready):
cb (in_cb), intro (PROC_MAGIC_GENERIC), magic (CHILD_INFO_MAGIC),
type (chtype), cygheap (::cygheap), cygheap_max (::cygheap_max),
- flag (0), retry (child_info::retry_count), rd_proc_pipe (NULL),
- wr_proc_pipe (NULL)
+ flag (0), retry (child_info::retry_count)
{
/* It appears that when running under WOW64 on Vista 64, the first DWORD
value in the datastructure lpReserved2 is pointing to (msv_count in
@@ -872,12 +876,14 @@ child_info::child_info (unsigned in_cb, child_info_types chtype,
child_info::~child_info ()
{
- cleanup ();
+ if (subproc_ready)
+ CloseHandle (subproc_ready);
+ if (parent)
+ CloseHandle (parent);
}
child_info_fork::child_info_fork () :
- child_info (sizeof *this, _CH_FORK, true),
- forker_finished (NULL)
+ child_info (sizeof *this, _CH_FORK, true)
{
}
@@ -887,7 +893,7 @@ child_info_spawn::child_info_spawn (child_info_types chtype, bool need_subproc_r
if (type == _CH_EXEC)
{
hExeced = NULL;
- if (my_wr_proc_pipe)
+ if (myself->wr_proc_pipe)
ev = NULL;
else if (!(ev = CreateEvent (&sec_none_nih, false, false, NULL)))
api_fatal ("couldn't create signalling event for exec, %E");
@@ -907,39 +913,6 @@ cygheap_exec_info::alloc ()
}
void
-child_info_spawn::wait_for_myself ()
-{
- postfork (myself);
- myself.remember (false);
- WaitForSingleObject (ev, INFINITE);
-}
-
-void
-child_info::cleanup ()
-{
- if (subproc_ready)
- {
- CloseHandle (subproc_ready);
- subproc_ready = NULL;
- }
- if (parent)
- {
- CloseHandle (parent);
- parent = NULL;
- }
- if (rd_proc_pipe)
- {
- ForceCloseHandle (rd_proc_pipe);
- rd_proc_pipe = NULL;
- }
- if (wr_proc_pipe)
- {
- ForceCloseHandle (wr_proc_pipe);
- wr_proc_pipe = NULL;
- }
-}
-
-void
child_info_spawn::cleanup ()
{
if (moreinfo)
@@ -967,7 +940,6 @@ child_info_spawn::cleanup ()
sync_proc_subproc.release ();
}
type = _CH_NADA;
- child_info::cleanup ();
}
/* Record any non-reaped subprocesses to be passed to about-to-be-execed
@@ -1075,7 +1047,7 @@ child_info::sync (pid_t pid, HANDLE& hProcess, DWORD howlong)
{
res = true;
exit_code = STILL_ACTIVE;
- if (type == _CH_EXEC && my_wr_proc_pipe)
+ if (type == _CH_EXEC && myself->wr_proc_pipe)
{
ForceCloseHandle1 (hProcess, childhProc);
hProcess = NULL;
@@ -1218,7 +1190,7 @@ stopped_or_terminated (waitq *parent_w, _pinfo *child)
int might_match;
waitq *w = parent_w->next;
- sigproc_printf ("considering pid %d, pgid %d, w->pid %d", child->pid, child->pgid, w->pid);
+ sigproc_printf ("considering pid %d", child->pid);
if (w->pid == -1)
might_match = 1;
else if (w->pid == 0)
@@ -1344,7 +1316,7 @@ static void WINAPI
wait_sig (VOID *)
{
_sig_tls = &_my_tls;
- sig_hold = CreateEvent (&sec_none_nih, FALSE, FALSE, NULL);
+ sigCONT = CreateEvent (&sec_none_nih, FALSE, FALSE, NULL);
sigproc_printf ("entering ReadFile loop, my_readsig %p, my_sendsig %p",
my_readsig, my_sendsig);
@@ -1354,7 +1326,7 @@ wait_sig (VOID *)
for (;;)
{
if (pack.si.si_signo == __SIGHOLD)
- WaitForSingleObject (sig_hold, INFINITE);
+ WaitForSingleObject (sigCONT, INFINITE);
DWORD nb;
pack.tls = NULL;
if (!ReadFile (my_readsig, &pack, sizeof (pack), &nb, NULL))
diff --git a/winsup/cygwin/sigproc.h b/winsup/cygwin/sigproc.h
index 06ebd68d8..2900da4cc 100644
--- a/winsup/cygwin/sigproc.h
+++ b/winsup/cygwin/sigproc.h
@@ -11,7 +11,6 @@ details. */
#pragma once
#include <signal.h>
-#include "sync.h"
#ifdef NSIG
enum
@@ -58,9 +57,13 @@ struct sigpacket
int __stdcall process () __attribute__ ((regparm (1)));
};
-void __stdcall sig_dispatch_pending (bool fast = false)
- __attribute__ ((regparm (1)));
-void set_signal_mask (sigset_t&, sigset_t) __attribute__ ((regparm (2)));
+extern HANDLE signal_arrived;
+extern HANDLE sigCONT;
+
+void __stdcall sig_dispatch_pending (bool fast = false);
+#ifdef EXITCODE_SET
+extern "C" void __stdcall set_signal_mask (sigset_t newmask, sigset_t&);
+#endif
int __stdcall handle_sigprocmask (int sig, const sigset_t *set,
sigset_t *oldset, sigset_t& opmask)
__attribute__ ((regparm (3)));
@@ -76,12 +79,40 @@ void __stdcall proc_terminate ();
void __stdcall sigproc_init ();
#ifdef __INSIDE_CYGWIN__
void __stdcall sigproc_terminate (enum exit_states);
+
+static inline DWORD __attribute__ ((always_inline))
+cygwait (HANDLE h, DWORD howlong = INFINITE)
+{
+ HANDLE w4[3];
+ DWORD n = 0;
+ DWORD wait_signal;
+ if ((w4[n] = h) != NULL)
+ wait_signal = WAIT_OBJECT_0 + ++n;
+ else
+ wait_signal = WAIT_OBJECT_0 + 15; /* Arbitrary. Don't call signal
+ handler if only waiting for signal */
+ w4[n++] = signal_arrived;
+ if ((w4[n] = pthread::get_cancel_event ()) != NULL)
+ n++;
+ DWORD res;
+ while ((res = WaitForMultipleObjects (n, w4, FALSE, howlong)) == wait_signal
+ && (_my_tls.call_signal_handler () || &_my_tls != _main_tls))
+ continue;
+ return res;
+}
+
+static inline DWORD __attribute__ ((always_inline))
+cygwait (DWORD wait)
+{
+ return cygwait ((HANDLE) NULL, wait);
+}
#endif
bool __stdcall pid_exists (pid_t) __attribute__ ((regparm(1)));
int __stdcall sig_send (_pinfo *, siginfo_t&, class _cygtls *tls = NULL) __attribute__ ((regparm (3)));
int __stdcall sig_send (_pinfo *, int) __attribute__ ((regparm (2)));
void __stdcall signal_fixup_after_exec ();
void __stdcall sigalloc ();
+void __stdcall create_signal_arrived ();
int kill_pgrp (pid_t, siginfo_t&);
int killsys (pid_t, int);
@@ -90,80 +121,4 @@ extern char myself_nowait_dummy[];
extern struct sigaction *global_sigs;
-class lock_signals
-{
- bool worked;
-public:
- lock_signals ()
- {
- worked = sig_send (NULL, __SIGHOLD) == 0;
- }
- operator int () const
- {
- return worked;
- }
- void dont_bother ()
- {
- worked = false;
- }
- ~lock_signals ()
- {
- if (worked)
- sig_send (NULL, __SIGNOHOLD);
- }
-};
-
-class lock_pthread
-{
- bool bother;
-public:
- lock_pthread (): bother (1)
- {
- pthread::atforkprepare ();
- }
- void dont_bother ()
- {
- bother = false;
- }
- ~lock_pthread ()
- {
- if (bother)
- pthread::atforkparent ();
- }
-};
-
-class hold_everything
-{
- bool ischild;
- /* Note the order of the locks below. It is important,
- to avoid races, that the lock order be preserved.
-
- pthread is first because it serves as a master lock
- against other forks being attempted while this one is active.
-
- signals is next to stop signal processing for the duration
- of the fork.
-
- process is last. If it is put before signals, then a deadlock
- could be introduced if the process attempts to exit due to a signal. */
- lock_pthread pthread;
- lock_signals signals;
- lock_process process;
-
-public:
- hold_everything (bool x = false): ischild (x) {}
- operator int () const {return signals;}
-
- ~hold_everything()
- {
- if (ischild)
- {
- pthread.dont_bother ();
- process.dont_bother ();
- signals.dont_bother ();
- }
- }
-
-};
-
#define myself_nowait ((_pinfo *) myself_nowait_dummy)
diff --git a/winsup/cygwin/smallprint.cc b/winsup/cygwin/smallprint.cc
index fa7706b47..1ca7ca817 100644
--- a/winsup/cygwin/smallprint.cc
+++ b/winsup/cygwin/smallprint.cc
@@ -147,15 +147,15 @@ __small_vsprintf (char *dst, const char *fmt, va_list ap)
continue;
case 'c':
{
- unsigned char c = (va_arg (ap, int) & 0xff);
- if (isprint (c) || pad != '0')
+ int c = va_arg (ap, int);
+ if (c > ' ' && c <= 127)
*dst++ = c;
else
- {
- *dst++ = '0';
- *dst++ = 'x';
- dst = __rn (dst, 16, 0, c, len, pad, LMASK);
- }
+ {
+ *dst++ = '0';
+ *dst++ = 'x';
+ dst = __rn (dst, 16, 0, c, len, pad, LMASK);
+ }
}
break;
case 'C':
@@ -164,7 +164,14 @@ __small_vsprintf (char *dst, const char *fmt, va_list ap)
char buf[4], *c;
sys_wcstombs (buf, 4, &wc, 1);
for (c = buf; *c; ++c)
- *dst++ = *c;
+ if (isprint (*c))
+ *dst++ = *c;
+ else
+ {
+ *dst++ = '0';
+ *dst++ = 'x';
+ dst = __rn (dst, 16, 0, *c, len, pad, LMASK);
+ }
}
case 'E':
strcpy (dst, "Win32 error ");
@@ -438,7 +445,17 @@ __small_vswprintf (PWCHAR dst, const WCHAR *fmt, va_list ap)
continue;
case L'c':
case L'C':
- *dst++ = va_arg (ap, unsigned);
+ {
+ unsigned int c = va_arg (ap, unsigned int);
+ if (c > L' ' && c <= 127)
+ *dst++ = c;
+ else
+ {
+ *dst++ = L'0';
+ *dst++ = L'x';
+ dst = __wrn (dst, 16, 0, c, len, pad, LMASK);
+ }
+ }
break;
case L'E':
wcscpy (dst, L"Win32 error ");
diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc
index 8a82f8a11..f052d350b 100644
--- a/winsup/cygwin/spawn.cc
+++ b/winsup/cygwin/spawn.cc
@@ -309,6 +309,7 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv,
}
/* FIXME: There is a small race here and FIXME: not thread safe! */
+
pthread_cleanup cleanup;
if (mode == _P_SYSTEM)
{
@@ -334,6 +335,7 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv,
bool null_app_name = false;
STARTUPINFOW si = {};
int looped = 0;
+ HANDLE orig_wr_proc_pipe = NULL;
myfault efault;
if (efault.faulted ())
@@ -347,10 +349,10 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv,
}
child_info_types chtype;
- if (mode == _P_OVERLAY)
- chtype = _CH_EXEC;
- else
+ if (mode != _P_OVERLAY)
chtype = _CH_SPAWN;
+ else
+ chtype = _CH_EXEC;
moreinfo = cygheap_exec_info::alloc ();
@@ -422,10 +424,10 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv,
moreinfo->argc = newargv.argc;
moreinfo->argv = newargv;
- if (mode != _P_OVERLAY || !real_path.iscygexec ()
- || !DuplicateHandle (GetCurrentProcess (), myself.shared_handle (),
- GetCurrentProcess (), &moreinfo->myself_pinfo,
- 0, TRUE, DUPLICATE_SAME_ACCESS))
+ if (mode != _P_OVERLAY ||
+ !DuplicateHandle (GetCurrentProcess (), myself.shared_handle (),
+ GetCurrentProcess (), &moreinfo->myself_pinfo,
+ 0, TRUE, DUPLICATE_SAME_ACCESS))
moreinfo->myself_pinfo = NULL;
else
VerifyHandle (moreinfo->myself_pinfo);
@@ -453,7 +455,7 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv,
c_flags |= CREATE_SEPARATE_WOW_VDM | CREATE_UNICODE_ENVIRONMENT;
- if (wincap.has_program_compatibility_assistant ())
+ if (wincap.has_program_compatibility_assitant ())
{
/* We're adding the CREATE_BREAKAWAY_FROM_JOB flag here to workaround
issues with the "Program Compatibility Assistant (PCA) Service"
@@ -517,6 +519,17 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv,
myself->sendsig = NULL;
reset_sendsig = true;
}
+ /* Save a copy of a handle to the current process around the first time we
+ exec so that the pid will not be reused. Why did I stop cygwin from
+ generating its own pids again? */
+ if (::cygheap->pid_handle)
+ /* already done previously */;
+ else if (DuplicateHandle (GetCurrentProcess (), GetCurrentProcess (),
+ GetCurrentProcess (), &::cygheap->pid_handle,
+ PROCESS_QUERY_INFORMATION, TRUE, 0))
+ ProtectHandleINH (::cygheap->pid_handle);
+ else
+ system_printf ("duplicate to pid_handle failed, %E");
}
if (null_app_name)
@@ -596,32 +609,10 @@ child_info_spawn::worker (const char *prog_arg, const char *const *argv,
in a console will break native processes running in the background,
because the Ctrl-C event is sent to all processes in the console, unless
they ignore it explicitely. CREATE_NEW_PROCESS_GROUP does that for us. */
- if (!iscygwin () && fhandler_console::exists ()
+ if (!iscygwin () && myself->ctty >= 0 && iscons_dev (myself->ctty)
&& fhandler_console::tc_getpgid () != myself->pgid)
c_flags |= CREATE_NEW_PROCESS_GROUP;
refresh_cygheap ();
-
- if (mode == _P_DETACH)
- /* all set */;
- else if (mode != _P_OVERLAY || !my_wr_proc_pipe)
- prefork ();
- else
- wr_proc_pipe = my_wr_proc_pipe;
-
- /* Don't allow child to inherit these handles if it's not a Cygwin program.
- wr_proc_pipe will be injected later. parent won't be used by the child
- so there is no reason for the child to have it open as it can confuse
- ps into thinking that children of windows processes are all part of
- the same "execed" process.
- FIXME: Someday, make it so that parent is never created when starting
- non-Cygwin processes. */
- if (!iscygwin ())
- {
- SetHandleInformation (wr_proc_pipe, HANDLE_FLAG_INHERIT, 0);
- SetHandleInformation (parent, HANDLE_FLAG_INHERIT, 0);
- }
- parent_winpid = GetCurrentProcessId ();
-
/* When ruid != euid we create the new process under the current original
account and impersonate in child, this way maintaining the different
effective vs. real ids.
@@ -743,14 +734,6 @@ loop:
myself->exec_sendsig = NULL;
}
myself->process_state &= ~PID_NOTCYGWIN;
- /* Reset handle inheritance to default when the execution of a non-Cygwin
- process fails. Only need to do this for _P_OVERLAY since the handle will
- be closed otherwise. Don't need to do this for 'parent' since it will
- be closed in every case. See FIXME above. */
- if (!iscygwin () && mode == _P_OVERLAY)
- SetHandleInformation (wr_proc_pipe, HANDLE_FLAG_INHERIT, HANDLE_FLAG_INHERIT);
- if (wr_proc_pipe == my_wr_proc_pipe)
- wr_proc_pipe = NULL; /* We still own it: don't nuke in destructor */
res = -1;
goto out;
}
@@ -770,12 +753,13 @@ loop:
cygpid = myself->pid;
/* We print the original program name here so the user can see that too. */
- syscall_printf ("pid %d, prog_arg %s, cmd line %.9500s)",
+ syscall_printf ("%d = child_info_spawn::worker(%s, %.9500s)",
rc ? cygpid : (unsigned int) -1, prog_arg, one_line.buf);
/* Name the handle similarly to proc_subproc. */
ProtectHandle1 (pi.hProcess, childhProc);
+ bool synced;
pid_t pid;
if (mode == _P_OVERLAY)
{
@@ -784,6 +768,25 @@ loop:
myself.hProcess = hExeced = pi.hProcess;
real_path.get_wide_win32_path (myself->progname); // FIXME: race?
sigproc_printf ("new process name %W", myself->progname);
+ /* If wr_proc_pipe doesn't exist then this process was not started by a cygwin
+ process. So, we need to wait around until the process we've just "execed"
+ dies. Use our own wait facility to wait for our own pid to exit (there
+ is some minor special case code in proc_waiter and friends to accommodate
+ this).
+
+ If wr_proc_pipe exists, then it should be duplicated to the child.
+ If the child has exited already, that's ok. The parent will pick up
+ on this fact when we exit. dup_proc_pipe will close our end of the pipe.
+ Note that wr_proc_pipe may also be == INVALID_HANDLE_VALUE. That will make
+ dup_proc_pipe essentially a no-op. */
+ if (!newargv.win16_exe && myself->wr_proc_pipe)
+ {
+ if (!looped)
+ myself->sync_proc_pipe (); /* Make sure that we own wr_proc_pipe
+ just in case we've been previously
+ execed. */
+ orig_wr_proc_pipe = myself->dup_proc_pipe (pi.hProcess);
+ }
pid = myself->pid;
if (!iscygwin ())
close_all_files ();
@@ -815,7 +818,6 @@ loop:
pi.hProcess, NULL, 0, 0, DUPLICATE_SAME_ACCESS);
child->start_time = time (NULL); /* Register child's starting time. */
child->nice = myself->nice;
- postfork (child);
if (!child.remember (mode == _P_DETACH))
{
/* FIXME: Child in strange state now */
@@ -830,12 +832,6 @@ loop:
/* Start the child running */
if (c_flags & CREATE_SUSPENDED)
{
- /* Inject a non-inheritable wr_proc_pipe handle into child so that we
- can accurately track when the child exits without keeping this
- process waiting around for it to exit. */
- if (!iscygwin ())
- DuplicateHandle (GetCurrentProcess (), wr_proc_pipe, pi.hProcess, NULL,
- 0, false, DUPLICATE_SAME_ACCESS);
ResumeThread (pi.hThread);
if (iscygwin ())
strace.write_childpid (pi.dwProcessId);
@@ -844,13 +840,10 @@ loop:
sigproc_printf ("spawned windows pid %d", pi.dwProcessId);
- bool synced;
if ((mode == _P_DETACH || mode == _P_NOWAIT) && !iscygwin ())
synced = false;
else
- /* Just mark a non-cygwin process as 'synced'. We will still eventually
- wait for it to exit in maybe_set_exit_code_from_windows(). */
- synced = iscygwin () ? sync (pi.dwProcessId, pi.hProcess, INFINITE) : true;
+ synced = sync (pi.dwProcessId, pi.hProcess, INFINITE);
switch (mode)
{
@@ -858,6 +851,11 @@ loop:
myself.hProcess = pi.hProcess;
if (!synced)
{
+ if (orig_wr_proc_pipe)
+ {
+ myself->wr_proc_pipe_owner = GetCurrentProcessId ();
+ myself->wr_proc_pipe = orig_wr_proc_pipe;
+ }
if (!proc_retry (pi.hProcess))
{
looped++;
@@ -868,10 +866,16 @@ loop:
else
{
close_all_files (true);
- if (!my_wr_proc_pipe
+ if (!myself->wr_proc_pipe
&& WaitForSingleObject (pi.hProcess, 0) == WAIT_TIMEOUT)
- wait_for_myself ();
+ {
+ extern bool is_toplevel_proc;
+ is_toplevel_proc = true;
+ myself.remember (false);
+ wait_for_myself ();
+ }
}
+ this->cleanup ();
myself.exit (EXITCODE_NOSET);
break;
case _P_WAIT:
diff --git a/winsup/cygwin/strace.cc b/winsup/cygwin/strace.cc
index 60e56fe5f..49b4c5ab9 100644
--- a/winsup/cygwin/strace.cc
+++ b/winsup/cygwin/strace.cc
@@ -1,7 +1,7 @@
/* strace.cc: system/windows tracing
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -59,6 +59,8 @@ strace::activate (bool isfork)
prntf (1, NULL, "**********************************************");
prntf (1, NULL, "Program name: %W %s", progname, pidbuf);
prntf (1, NULL, "OS version: Windows %s", wincap.osname ());
+ if (cygheap && cygheap->user_heap.chunk)
+ prntf (1, NULL, "Heap size: %u", cygheap->user_heap.chunk);
prntf (1, NULL, "**********************************************");
}
}
diff --git a/winsup/cygwin/strfuncs.cc b/winsup/cygwin/strfuncs.cc
index 22ba4d619..3b532f9e0 100644
--- a/winsup/cygwin/strfuncs.cc
+++ b/winsup/cygwin/strfuncs.cc
@@ -1,7 +1,7 @@
/* strfuncs.cc: misc funcs that don't belong anywhere else
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -11,7 +11,6 @@ details. */
#include "winsup.h"
#include <stdlib.h>
-#include <sys/param.h>
#include <wchar.h>
#include <winnls.h>
#include <ntdll.h>
@@ -239,7 +238,7 @@ __db_mbtowc (struct _reent *r, wchar_t *pwc, const char *s, size_t n, UINT cp,
*pwc = *(unsigned char *) s;
return *s ? 1 : 0;
}
- size_t cnt = MIN (n, 2);
+ size_t cnt = min (n, 2);
ret = MultiByteToWideChar (cp, MB_ERR_INVALID_CHARS, s, cnt, pwc, 1);
if (ret)
return cnt;
@@ -313,7 +312,7 @@ __eucjp_mbtowc (struct _reent *r, wchar_t *pwc, const char *s, size_t n,
ret = 3;
goto jis_x_0212;
}
- size_t cnt = MIN (n, 2);
+ size_t cnt = min (n, 2);
if (MultiByteToWideChar (20932, MB_ERR_INVALID_CHARS, s, cnt, pwc, 1))
return cnt;
if (n == 1)
@@ -393,23 +392,9 @@ __big5_mbtowc (struct _reent *r, wchar_t *pwc, const char *s, size_t n,
sequence in by treating it as an UTF-8 char. If that fails, the ASCII
CAN was probably standalone and it gets just copied over as ASCII CAN.
- - Three cases have to be distinguished for the return value:
-
- - dst == NULL; len is ignored, the return value is the number of bytes
- required for the string without the trailing NUL, just like the return
- value of the wcstombs function.
-
- - dst != NULL, len == (size_t) -1; the return value is the size in bytes
- of the destination string without the trailing NUL. If the incoming
- wide char string was not NUL-terminated, the target string won't be
- NUL-terminated either.
-
- - dst != NULL; len != (size_t) -1; the return value is the size in bytes
- of the destination string without the trailing NUL. The target string
- will be NUL-terminated, no matter what. If the result is truncated due
- to buffer size, it's a bug in Cygwin and the buffer in the calling
- function should be raised.
-*/
+ - The functions always create 0-terminated results, no matter what.
+ If the result is truncated due to buffer size, it's a bug in Cygwin
+ and the buffer in the calling function should be raised. */
size_t __stdcall
sys_cp_wcstombs (wctomb_p f_wctomb, const char *charset, char *dst, size_t len,
const wchar_t *src, size_t nwc)
@@ -487,7 +472,7 @@ sys_cp_wcstombs (wctomb_p f_wctomb, const char *charset, char *dst, size_t len,
else
break;
}
- if (n && dst && len != (size_t) -1)
+ if (n && dst)
{
n = (n < len) ? n : len - 1;
dst[n] = '\0';
diff --git a/winsup/cygwin/sync.h b/winsup/cygwin/sync.h
index c9c5fb595..2215599c8 100644
--- a/winsup/cygwin/sync.h
+++ b/winsup/cygwin/sync.h
@@ -1,7 +1,6 @@
/* sync.h: Header file for cygwin synchronization primitives.
- Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2011, 2012
- Red Hat, Inc.
+ Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Red Hat, Inc.
This file is part of Cygwin.
@@ -9,8 +8,8 @@ This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
-#pragma once
-
+#ifndef _SYNC_H
+#define _SYNC_H
/* FIXME: Note that currently this class cannot be allocated via `new' since
there are issues with malloc and fork. */
class muto
@@ -63,3 +62,5 @@ public:
friend class dtable;
friend class fhandler_fifo;
};
+
+#endif /*_SYNC_H*/
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc
index 1b047aaff..21037fa10 100644
--- a/winsup/cygwin/syscalls.cc
+++ b/winsup/cygwin/syscalls.cc
@@ -126,18 +126,6 @@ dup (int fd)
return res;
}
-inline int
-dup_finish (int oldfd, int newfd, int flags)
-{
- int res;
- if ((res = cygheap->fdtab.dup3 (oldfd, newfd, flags | O_EXCL)) == newfd)
- {
- cygheap_fdget (newfd)->inc_refcnt ();
- cygheap->fdtab.unlock (); /* dup3 exits with lock set on success */
- }
- return res;
-}
-
extern "C" int
dup2 (int oldfd, int newfd)
{
@@ -152,8 +140,8 @@ dup2 (int oldfd, int newfd)
cygheap_fdget cfd (oldfd);
res = (cfd >= 0) ? oldfd : -1;
}
- else
- res = dup_finish (oldfd, newfd, 0);
+ else if ((res = cygheap->fdtab.dup3 (oldfd, newfd, 0)) == newfd)
+ cygheap->fdtab[newfd]->refcnt (1);
syscall_printf ("%R = dup2(%d, %d)", res, oldfd, newfd);
return res;
@@ -174,8 +162,8 @@ dup3 (int oldfd, int newfd, int flags)
set_errno (cfd < 0 ? EBADF : EINVAL);
res = -1;
}
- else
- res = dup_finish (oldfd, newfd, flags);
+ else if ((res = cygheap->fdtab.dup3 (oldfd, newfd, flags)) == newfd)
+ cygheap->fdtab[newfd]->refcnt (1);
syscall_printf ("%R = dup3(%d, %d, %p)", res, oldfd, newfd, flags);
return res;
@@ -212,12 +200,7 @@ stop_transaction (NTSTATUS status, HANDLE old_trans, HANDLE trans)
}
static char desktop_ini[] =
- "[.ShellClassInfo]\r\n"
- "CLSID={645FF040-5081-101B-9F08-00AA002F954E}\r\n";
-
-static char desktop_ini_ext[] =
- "LocalizedResourceName=@%SystemRoot%\\system32\\shell32.dll,-8964\r\n";
-
+ "[.ShellClassInfo]\r\nCLSID={645FF040-5081-101B-9F08-00AA002F954E}\r\n";
static BYTE info2[] =
{
0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -228,8 +211,7 @@ enum bin_status
{
dont_move,
move_to_bin,
- has_been_moved,
- dir_not_empty
+ has_been_moved
};
static bin_status
@@ -246,9 +228,7 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access)
PFILE_NAME_INFORMATION pfni;
PFILE_INTERNAL_INFORMATION pfii;
PFILE_RENAME_INFORMATION pfri;
- ULONG frisiz;
FILE_DISPOSITION_INFORMATION disp = { TRUE };
- bool fs_has_per_user_recycler = pc.fs_is_ntfs () || pc.fs_is_refs ();
tmp_pathbuf tp;
PBYTE infobuf = (PBYTE) tp.w_get ();
@@ -273,8 +253,8 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access)
RtlInitEmptyUnicodeString (&recycler, recyclerbuf, sizeof recyclerbuf);
if (!pc.isremote ())
{
- if (wincap.has_recycle_dot_bin ()) /* NTFS and FAT since Vista, ReFS */
- RtlAppendUnicodeToString (&recycler, L"\\$RECYCLE.BIN\\");
+ if (wincap.has_recycle_dot_bin ()) /* NTFS and FAT since Vista */
+ RtlAppendUnicodeToString (&recycler, L"\\$Recycle.Bin\\");
else if (pc.fs_is_ntfs ()) /* NTFS up to 2K3 */
RtlAppendUnicodeToString (&recycler, L"\\RECYCLER\\");
else if (pc.fs_is_fat ()) /* FAT up to 2K3 */
@@ -311,10 +291,10 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access)
recycler.Length -= sizeof (WCHAR);
/* Store length of recycler base dir, if it's necessary to create it. */
recycler_base_len = recycler.Length;
- /* On NTFS or ReFS the recycler dir contains user specific subdirs, which
- are the actual recycle bins per user. The name if this dir is the
- string representation of the user SID. */
- if (fs_has_per_user_recycler)
+ /* On NTFS the recycler dir contains user specific subdirs, which are the
+ actual recycle bins per user. The name if this dir is the string
+ representation of the user SID. */
+ if (pc.fs_is_ntfs ())
{
UNICODE_STRING sid;
WCHAR sidbuf[128];
@@ -341,10 +321,7 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access)
pc.fs_flags () & FILE_UNICODE_ON_DISK
? L".\xdc63\xdc79\xdc67" : L".cyg");
pfii = (PFILE_INTERNAL_INFORMATION) infobuf;
- /* Note: Modern Samba versions apparently don't like buffer sizes of more
- than 65535 in some NtQueryInformationFile/NtSetInformationFile calls.
- Therefore we better use exact buffer sizes from now on. */
- status = NtQueryInformationFile (fh, &io, pfii, sizeof *pfii,
+ status = NtQueryInformationFile (fh, &io, pfii, 65536,
FileInternalInformation);
if (!NT_SUCCESS (status))
{
@@ -361,15 +338,12 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access)
pfri->RootDirectory = pc.isremote () ? NULL : rootdir;
pfri->FileNameLength = recycler.Length;
memcpy (pfri->FileName, recycler.Buffer, recycler.Length);
- frisiz = sizeof *pfri + pfri->FileNameLength - sizeof (WCHAR);
- status = NtSetInformationFile (fh, &io, pfri, frisiz, FileRenameInformation);
+ status = NtSetInformationFile (fh, &io, pfri, 65536, FileRenameInformation);
if (status == STATUS_OBJECT_PATH_NOT_FOUND && !pc.isremote ())
{
/* Ok, so the recycler and/or the recycler/SID directory don't exist.
First reopen root dir with permission to create subdirs. */
NtClose (rootdir);
- InitializeObjectAttributes (&attr, &root, OBJ_CASE_INSENSITIVE,
- NULL, NULL);
status = NtOpenFile (&rootdir, FILE_ADD_SUBDIRECTORY, &attr, &io,
FILE_SHARE_VALID_FLAGS, FILE_OPEN_FOR_BACKUP_INTENT);
if (!NT_SUCCESS (status))
@@ -380,17 +354,14 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access)
}
/* Then check if recycler exists by opening and potentially creating it.
Yes, we can really do that. Typically the recycle bin is created
- by the first user actually using the bin. Pre-Vista, the permissions
- are the default permissions propagated from the root directory.
- Since Vista the top-level recycle dir has explicit permissions. */
+ by the first user actually using the bin. The permissions are the
+ default permissions propagated from the root directory. */
InitializeObjectAttributes (&attr, &recycler, OBJ_CASE_INSENSITIVE,
- rootdir,
- wincap.has_recycle_dot_bin ()
- ? recycler_sd (true, true) : NULL);
+ rootdir, NULL);
recycler.Length = recycler_base_len;
status = NtCreateFile (&recyclerdir,
READ_CONTROL
- | (fs_has_per_user_recycler ? 0 : FILE_ADD_FILE),
+ | (pc.fs_is_ntfs () ? 0 : FILE_ADD_FILE),
&attr, &io, NULL,
FILE_ATTRIBUTE_DIRECTORY
| FILE_ATTRIBUTE_SYSTEM
@@ -405,12 +376,10 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access)
}
/* Next, if necessary, check if the recycler/SID dir exists and
create it if not. */
- if (fs_has_per_user_recycler)
+ if (pc.fs_is_ntfs ())
{
NtClose (recyclerdir);
recycler.Length = recycler_user_len;
- InitializeObjectAttributes (&attr, &recycler, OBJ_CASE_INSENSITIVE,
- rootdir, recycler_sd (false, true));
status = NtCreateFile (&recyclerdir, READ_CONTROL | FILE_ADD_FILE,
&attr, &io, NULL, FILE_ATTRIBUTE_DIRECTORY
| FILE_ATTRIBUTE_SYSTEM
@@ -431,7 +400,7 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access)
{
RtlInitUnicodeString (&fname, L"desktop.ini");
InitializeObjectAttributes (&attr, &fname, OBJ_CASE_INSENSITIVE,
- recyclerdir, recycler_sd (false, false));
+ recyclerdir, NULL);
status = NtCreateFile (&tmp_fh, FILE_GENERIC_WRITE, &attr, &io, NULL,
FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_HIDDEN,
FILE_SHARE_VALID_FLAGS, FILE_CREATE,
@@ -447,15 +416,6 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access)
if (!NT_SUCCESS (status))
debug_printf ("NtWriteFile (%S) failed, status = %p",
&fname, status);
- else if (wincap.has_recycle_dot_bin ())
- {
- status = NtWriteFile (tmp_fh, NULL, NULL, NULL, &io,
- desktop_ini_ext,
- sizeof desktop_ini_ext - 1, NULL, NULL);
- if (!NT_SUCCESS (status))
- debug_printf ("NtWriteFile (%S) failed, status = %p",
- &fname, status);
- }
NtClose (tmp_fh);
}
if (!wincap.has_recycle_dot_bin ()) /* No INFO2 file since Vista */
@@ -483,7 +443,7 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access)
}
NtClose (recyclerdir);
/* Shoot again. */
- status = NtSetInformationFile (fh, &io, pfri, frisiz,
+ status = NtSetInformationFile (fh, &io, pfri, 65536,
FileRenameInformation);
}
if (!NT_SUCCESS (status))
@@ -499,26 +459,6 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access)
Otherwise the below code closes the handle to allow replacing the file. */
status = NtSetInformationFile (fh, &io, &disp, sizeof disp,
FileDispositionInformation);
- if (status == STATUS_DIRECTORY_NOT_EMPTY)
- {
- /* Uh oh! This was supposed to be avoided by the check_dir_not_empty
- test in unlink_nt, but given that the test isn't atomic, this *can*
- happen. Try to move the dir back ASAP. */
- pfri->RootDirectory = NULL;
- pfri->FileNameLength = pc.get_nt_native_path ()->Length;
- memcpy (pfri->FileName, pc.get_nt_native_path ()->Buffer,
- pc.get_nt_native_path ()->Length);
- frisiz = sizeof *pfri + pfri->FileNameLength - sizeof (WCHAR);
- if (NT_SUCCESS (NtSetInformationFile (fh, &io, pfri, frisiz,
- FileRenameInformation)))
- {
- /* Give notice to unlink_nt and leave immediately. This avoids
- closing the handle, which might still be used if called from
- the rm -r workaround code. */
- bin_stat = dir_not_empty;
- goto out;
- }
- }
/* In case of success, restore R/O attribute to accommodate hardlinks.
That leaves potentially hardlinks around with the R/O bit suddenly
off if setting the delete disposition failed, but please, keep in
@@ -550,7 +490,7 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access)
status);
goto out;
}
- status = NtSetInformationFile (tmp_fh, &io, pfri, frisiz,
+ status = NtSetInformationFile (tmp_fh, &io, pfri, 65536,
FileRenameInformation);
NtClose (tmp_fh);
if (!NT_SUCCESS (status))
@@ -717,45 +657,46 @@ unlink_nt (path_conv &pc)
if a file is already open elsewhere for other purposes than
reading and writing data. */
status = NtOpenFile (&fh, access, &attr, &io, FILE_SHARE_DELETE, flags);
- /* STATUS_SHARING_VIOLATION is what we expect. STATUS_LOCK_NOT_GRANTED can
- be generated under not quite clear circumstances when trying to open a
- file on NFS with FILE_SHARE_DELETE only. This has been observed with
- SFU 3.5 if the NFS share has been mounted under a drive letter. It's
- not generated for all files, but only for some. If it's generated once
- for a file, it will be generated all the time. It looks as if wrong file
- state information is stored within the NFS client which never times out.
- Opening the file with FILE_SHARE_VALID_FLAGS will work, though, and it
- is then possible to delete the file quite normally. */
if (status == STATUS_SHARING_VIOLATION || status == STATUS_LOCK_NOT_GRANTED)
{
- debug_printf ("Sharing violation when opening %S",
- pc.get_nt_native_path ());
- /* We never call try_to_bin on NFS and NetApp for the follwing reasons:
-
- NFS implements its own mechanism to remove in-use files, which looks
- quite similar to what we do in try_to_bin for remote files.
+ /* STATUS_LOCK_NOT_GRANTED can be generated under not quite clear
+ circumstances when trying to open a file on NFS with FILE_SHARE_DELETE
+ only. This has been observed with SFU 3.5 if the NFS share has been
+ mounted under a drive letter. It's not generated for all files, but
+ only for some. If it's generated once for a file, it will be
+ generated all the time. It looks like wrong file state information
+ is stored within the NFS client, for no apparent reason, which never
+ times out. Opening the file with FILE_SHARE_VALID_FLAGS will work,
+ though, and it is then possible to delete the file quite normally.
+
+ NFS implements its own mechanism to remove in-use files which
+ looks quite similar to what we do in try_to_bin for remote files.
+ That's why we don't call try_to_bin on NFS.
Netapp filesystems don't understand the "move and delete" method
at all and have all kinds of weird effects. Just setting the delete
dispositon usually works fine, though. */
+ debug_printf ("Sharing violation when opening %S",
+ pc.get_nt_native_path ());
if (!pc.fs_is_nfs () && !pc.fs_is_netapp ())
bin_stat = move_to_bin;
- /* If the file is not a directory, of if we didn't set the move_to_bin
- flag, just proceed with the FILE_SHARE_VALID_FLAGS set. */
- if (!pc.isdir () || bin_stat == dont_move)
+ if (!pc.isdir () || pc.isremote ())
status = NtOpenFile (&fh, access, &attr, &io,
FILE_SHARE_VALID_FLAGS, flags);
else
{
- /* Otherwise it's getting tricky. The directory is opened in some
- process, so we're supposed to move it to the recycler and mark it
- for deletion. But what if the directory is not empty? The move
+ /* It's getting tricky. The directory is opened in some process,
+ so we're supposed to move it to the recycler and mark it for
+ deletion. But what if the directory is not empty? The move
will work, but the subsequent delete will fail. So we would
- have to move it back. While we do that in try_to_bin, it's bad,
- because the move results in a temporary inconsistent state.
- So, we test first if the directory is empty. If not, we bail
- out with STATUS_DIRECTORY_NOT_EMPTY. This avoids most of the
- problems. */
+ have to move it back. That's bad, because the directory would
+ be moved around which results in a temporary inconsistent state.
+ So, what we do here is to test if the directory is empty. If
+ not, we bail out with STATUS_DIRECTORY_NOT_EMPTY. The below code
+ tests for at least three entries in the directory, ".", "..",
+ and another one. Three entries means, not empty. This doesn't
+ work for the root directory of a drive, but the root dir can
+ neither be deleted, nor moved anyway. */
status = NtOpenFile (&fh, access | FILE_LIST_DIRECTORY | SYNCHRONIZE,
&attr, &io, FILE_SHARE_VALID_FLAGS,
flags | FILE_SYNCHRONOUS_IO_NONALERT);
@@ -789,15 +730,9 @@ unlink_nt (path_conv &pc)
/* Try to move to bin if a sharing violation occured. If that worked,
we're done. */
if (bin_stat == move_to_bin
- && (bin_stat = try_to_bin (pc, fh, access)) >= has_been_moved)
+ && (bin_stat = try_to_bin (pc, fh, access)) == has_been_moved)
{
- if (bin_stat == has_been_moved)
- status = STATUS_SUCCESS;
- else
- {
- status = STATUS_DIRECTORY_NOT_EMPTY;
- NtClose (fh);
- }
+ status = STATUS_SUCCESS;
goto out;
}
@@ -862,7 +797,6 @@ try_again:
bin_stat = try_to_bin (pc, fh, access);
}
}
- /* Do NOT handle bin_stat == dir_not_empty here! */
if (bin_stat == has_been_moved)
status = STATUS_SUCCESS;
else
@@ -874,15 +808,12 @@ try_again:
}
}
}
- else if (status2 != STATUS_OBJECT_PATH_NOT_FOUND
- && status2 != STATUS_OBJECT_NAME_NOT_FOUND)
+ else
{
fh = NULL;
debug_printf ("Opening dir %S for check_dir_not_empty failed, "
"status = %p", pc.get_nt_native_path (), status2);
}
- else /* Directory disappeared between NtClose and NtOpenFile. */
- status = STATUS_SUCCESS;
}
/* Trying to delete a hardlink to a file in use by the system in some
way (for instance, font files) by setting the delete disposition fails
@@ -920,10 +851,8 @@ try_again:
unlinking didn't work. */
if (bin_stat == dont_move)
bin_stat = try_to_bin (pc, fh, access);
- if (bin_stat >= has_been_moved)
- status = bin_stat == has_been_moved
- ? STATUS_SUCCESS
- : STATUS_DIRECTORY_NOT_EMPTY;
+ if (bin_stat == has_been_moved)
+ status = STATUS_SUCCESS;
}
else
NtClose (fh2);
@@ -933,7 +862,7 @@ try_again:
{
if (access & FILE_WRITE_ATTRIBUTES)
{
- /* Restore R/O attribute if setting the delete disposition failed. */
+ /* Restore R/O attribute if setting the delete dispostion failed. */
if (!NT_SUCCESS (status))
NtSetAttributesFile (fh, pc.file_attributes ());
/* If we succeeded, restore R/O attribute to accommodate hardlinks.
@@ -1415,10 +1344,7 @@ lseek64 (int fd, _off64_t pos, int dir)
else
res = -1;
}
- /* Can't use %R here since res is 8 bytes */
- syscall_printf (res == -1 ? "%D = lseek(%d, %D, %d), errno %d"
- : "%D = lseek(%d, %D, %d)",
- res, fd, pos, dir, get_errno ());
+ syscall_printf ("%R = lseek(%d, %D, %d)", res, fd, pos, dir);
return res;
}
@@ -1656,49 +1582,6 @@ stat64_to_stat32 (struct __stat64 *src, struct __stat32 *dst)
dst->st_blocks = src->st_blocks;
}
-static struct __stat64 dev_st;
-static bool dev_st_inited;
-
-void
-fhandler_base::stat_fixup (struct __stat64 *buf)
-{
- /* For devices, set inode number to device number. This gives us a valid,
- unique inode number without having to call hash_path_name. */
- if (!buf->st_ino)
- buf->st_ino = (get_major () == DEV_VIRTFS_MAJOR) ? get_ino ()
- : get_device ();
- /* For /dev-based devices, st_dev must be set to the device number of /dev,
- not it's own device major/minor numbers. What we do here to speed up
- the process is to fetch the device number of /dev only once, liberally
- assuming that /dev doesn't change over the lifetime of a process. */
- if (!buf->st_dev)
- {
- if (dev ().is_dev_resident ())
- {
- if (!dev_st_inited)
- {
- stat64 ("/dev", &dev_st);
- dev_st_inited = true;
- }
- buf->st_dev = dev_st.st_dev;
- }
- else
- buf->st_dev = get_device ();
- }
- /* Only set st_rdev if it's a device. */
- if (!buf->st_rdev && get_major () != DEV_VIRTFS_MAJOR)
- {
- buf->st_rdev = get_device ();
- /* consX, console, conin, and conout point to the same device.
- Make sure the link count is correct. */
- if (buf->st_rdev == (dev_t) myself->ctty && iscons_dev (myself->ctty))
- buf->st_nlink = 4;
- /* CD-ROM drives have two links, /dev/srX and /dev/scdX. */
- else if (gnu_dev_major (buf->st_rdev) == DEV_CDROM_MAJOR)
- buf->st_nlink = 2;
- }
-}
-
extern "C" int
fstat64 (int fd, struct __stat64 *buf)
{
@@ -1712,7 +1595,14 @@ fstat64 (int fd, struct __stat64 *buf)
memset (buf, 0, sizeof (struct __stat64));
res = cfd->fstat (buf);
if (!res)
- cfd->stat_fixup (buf);
+ {
+ if (!buf->st_ino)
+ buf->st_ino = cfd->get_ino ();
+ if (!buf->st_dev)
+ buf->st_dev = cfd->get_device ();
+ if (!buf->st_rdev)
+ buf->st_rdev = buf->st_dev;
+ }
}
syscall_printf ("%R = fstat(%d, %p)", res, fd, buf);
@@ -1851,7 +1741,14 @@ stat_worker (path_conv &pc, struct __stat64 *buf)
memset (buf, 0, sizeof (*buf));
res = fh->fstat (buf);
if (!res)
- fh->stat_fixup (buf);
+ {
+ if (!buf->st_ino)
+ buf->st_ino = fh->get_ino ();
+ if (!buf->st_dev)
+ buf->st_dev = fh->get_device ();
+ if (!buf->st_rdev)
+ buf->st_rdev = buf->st_dev;
+ }
delete fh;
}
else
@@ -2332,7 +2229,7 @@ retry:
{
debug_printf ("status %p", status);
if (status == STATUS_SHARING_VIOLATION
- && cygwait (10L) != WAIT_SIGNALED)
+ && WaitForSingleObject (signal_arrived, 10L) != WAIT_OBJECT_0)
{
/* Typical BLODA problem. Some virus scanners check newly generated
files and while doing that disallow DELETE access. That's really
diff --git a/winsup/cygwin/sysconf.cc b/winsup/cygwin/sysconf.cc
index 1014d4f5a..f5bfe60d1 100644
--- a/winsup/cygwin/sysconf.cc
+++ b/winsup/cygwin/sysconf.cc
@@ -1,7 +1,7 @@
/* sysconf.cc
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2006, 2007, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -11,7 +11,6 @@ details. */
#include "winsup.h"
#include <unistd.h>
-#include <sys/param.h>
#include <sys/sysinfo.h>
#include "cygerrno.h"
#include "security.h"
@@ -295,7 +294,7 @@ confstr (int in, char *buf, size_t len)
if (csa[in].l && len)
{
buf[0] = 0;
- strncat (buf, csa[in].s, MIN (len, csa[in].l) - 1);
+ strncat (buf, csa[in].s, min (len, csa[in].l) - 1);
}
return csa[in].l;
}
diff --git a/winsup/cygwin/syslog.cc b/winsup/cygwin/syslog.cc
index aeba5a926..6d42f1b00 100644
--- a/winsup/cygwin/syslog.cc
+++ b/winsup/cygwin/syslog.cc
@@ -1,7 +1,7 @@
/* syslog.cc
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2009, 2011, 2012 Red Hat, Inc.
+ 2006, 2007, 2009, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -10,15 +10,15 @@ Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
#define __INSIDE_CYGWIN_NET__
-#define USE_SYS_TYPES_FD_SET
+
#include "winsup.h"
-#include <ws2tcpip.h>
-#include <iphlpapi.h>
#include <stdlib.h>
#include <stdio.h>
#include <syslog.h>
#include <unistd.h>
#include <sys/un.h>
+#include <netinet/in.h>
+#include <iphlpapi.h>
#include "cygerrno.h"
#include "security.h"
#include "path.h"
diff --git a/winsup/cygwin/termios.cc b/winsup/cygwin/termios.cc
index 0fb0de2ad..309651304 100644
--- a/winsup/cygwin/termios.cc
+++ b/winsup/cygwin/termios.cc
@@ -1,7 +1,7 @@
/* termios.cc: termios for WIN32.
Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
Written by Doug Evans and Steve Chamberlain of Cygnus Support
dje@cygnus.com, sac@cygnus.com
@@ -207,7 +207,7 @@ tcgetpgrp (int fd)
return res;
}
-extern "C" pid_t
+extern "C" int
tcgetsid (int fd)
{
int res;
diff --git a/winsup/cygwin/thread.cc b/winsup/cygwin/thread.cc
index aefab24cd..513b860d1 100644
--- a/winsup/cygwin/thread.cc
+++ b/winsup/cygwin/thread.cc
@@ -32,7 +32,6 @@ details. */
#include "dtable.h"
#include "cygheap.h"
#include "ntdll.h"
-#include "cygwait.h"
extern "C" void __fp_lock_all ();
extern "C" void __fp_unlock_all ();
@@ -432,18 +431,8 @@ pthread::precreate (pthread_attr *newattr)
magic = 0;
return;
}
- /* This mutex MUST be recursive. Consider the following scenario:
- - The thread installs a cleanup handler.
- - The cleanup handler calls a function which itself installs a
- cleanup handler.
- - pthread_cancel is called for this thread.
- - The thread's cleanup handler is called under mutex lock condition.
- - The cleanup handler calls the subsequent function with cleanup handler.
- - The function runs to completion, so it calls pthread_cleanup_pop.
- - pthread_cleanup_pop calls pthread::pop_cleanup_handler which will again
- try to lock the mutex.
- - Deadlock. */
- mutex.set_type (PTHREAD_MUTEX_RECURSIVE);
+ /* Change the mutex type to NORMAL to speed up mutex operations */
+ mutex.set_type (PTHREAD_MUTEX_NORMAL);
if (!create_cancel_event ())
magic = 0;
}
@@ -573,27 +562,10 @@ pthread::cancel ()
CONTEXT context;
context.ContextFlags = CONTEXT_CONTROL;
GetThreadContext (win32_obj_id, &context);
- /* The OS is not foolproof in terms of asynchronous thread cancellation
- and tends to hang infinitely if we change the instruction pointer.
- So just don't cancel asynchronously if the thread is currently
- executing Windows code. Rely on deferred cancellation in this case. */
- if (!cygtls->inside_kernel (&context))
- {
- context.Eip = (DWORD) pthread::static_cancel_self;
- SetThreadContext (win32_obj_id, &context);
- }
+ context.Eip = (DWORD) pthread::static_cancel_self;
+ SetThreadContext (win32_obj_id, &context);
}
mutex.unlock ();
- /* See above. For instance, a thread which waits for a semaphore in sem_wait
- will call cancelable_wait which in turn calls WFMO. While this WFMO call
- is cancelable by setting the thread's cancel_event object, the OS
- apparently refuses to set the thread's context and continues to wait for
- the WFMO conditions. This is *not* reflected in the return value of
- SetThreadContext or ResumeThread, btw.
- So, what we do here is to set the cancel_event as well to allow at least
- a deferred cancel. */
- canceled = true;
- SetEvent (cancel_event);
ResumeThread (win32_obj_id);
return 0;
@@ -938,6 +910,93 @@ pthread::static_cancel_self ()
pthread::self ()->cancel_self ();
}
+DWORD
+cancelable_wait (HANDLE object, PLARGE_INTEGER timeout,
+ const cw_cancel_action cancel_action,
+ const enum cw_sig_wait sig_wait)
+{
+ DWORD res;
+ DWORD num = 0;
+ HANDLE wait_objects[4];
+ pthread_t thread = pthread::self ();
+
+ /* Do not change the wait order.
+ The object must have higher priority than the cancel event,
+ because WaitForMultipleObjects will return the smallest index
+ if both objects are signaled. */
+ wait_objects[num++] = object;
+ DWORD cancel_n;
+ if (cancel_action == cw_no_cancel || !pthread::is_good_object (&thread) ||
+ thread->cancelstate == PTHREAD_CANCEL_DISABLE)
+ cancel_n = WAIT_TIMEOUT + 1;
+ else
+ {
+ cancel_n = WAIT_OBJECT_0 + num++;
+ wait_objects[cancel_n] = thread->cancel_event;
+ }
+
+ DWORD sig_n;
+ if (sig_wait == cw_sig_nosig)
+ sig_n = WAIT_TIMEOUT + 1;
+ else
+ {
+ sig_n = WAIT_OBJECT_0 + num++;
+ wait_objects[sig_n] = signal_arrived;
+ }
+
+ DWORD timeout_n;
+ if (!timeout)
+ timeout_n = WAIT_TIMEOUT + 1;
+ else
+ {
+ timeout_n = WAIT_OBJECT_0 + num++;
+ if (!_my_tls.locals.cw_timer)
+ NtCreateTimer (&_my_tls.locals.cw_timer, TIMER_ALL_ACCESS, NULL,
+ NotificationTimer);
+ NtSetTimer (_my_tls.locals.cw_timer, timeout, NULL, NULL, FALSE, 0, NULL);
+ wait_objects[timeout_n] = _my_tls.locals.cw_timer;
+ }
+
+ while (1)
+ {
+ res = WaitForMultipleObjects (num, wait_objects, FALSE, INFINITE);
+ if (res == cancel_n)
+ {
+ if (cancel_action == cw_cancel_self)
+ pthread::static_cancel_self ();
+ res = WAIT_CANCELED;
+ }
+ else if (res == timeout_n)
+ res = WAIT_TIMEOUT;
+ else if (res != sig_n)
+ /* all set */;
+ else if (sig_wait == cw_sig_eintr)
+ res = WAIT_SIGNALED;
+ else
+ {
+ _my_tls.call_signal_handler ();
+ continue;
+ }
+ break;
+ }
+
+ if (timeout)
+ {
+ const size_t sizeof_tbi = sizeof (TIMER_BASIC_INFORMATION);
+ PTIMER_BASIC_INFORMATION tbi = (PTIMER_BASIC_INFORMATION) malloc (sizeof_tbi);
+
+ NtQueryTimer (_my_tls.locals.cw_timer, TimerBasicInformation, tbi,
+ sizeof_tbi, NULL);
+ /* if timer expired, TimeRemaining is negative and represents the
+ system uptime when signalled */
+ if (timeout->QuadPart < 0LL)
+ timeout->QuadPart = tbi->SignalState ? 0LL : tbi->TimeRemaining.QuadPart;
+ NtCancelTimer (_my_tls.locals.cw_timer, NULL);
+ }
+
+ return res;
+}
+
int
pthread::setcancelstate (int state, int *oldstate)
{
@@ -1014,9 +1073,6 @@ pthread::pop_cleanup_handler (int const execute)
void
pthread::pop_all_cleanup_handlers ()
{
- /* We will no honor cancels since the thread is exiting. */
- cancelstate = PTHREAD_CANCEL_DISABLE;
-
while (cleanup_stack != NULL)
pop_cleanup_handler (1);
}
@@ -1228,7 +1284,7 @@ pthread_cond::wait (pthread_mutex_t mutex, PLARGE_INTEGER timeout)
++mutex->condwaits;
mutex->unlock ();
- rv = cancelable_wait (sem_wait, timeout, cw_cancel | cw_sig_eintr);
+ rv = cancelable_wait (sem_wait, timeout, cw_no_cancel_self, cw_sig_eintr);
mtx_out.lock ();
@@ -1743,8 +1799,7 @@ pthread_mutex::lock ()
else if (type == PTHREAD_MUTEX_NORMAL /* potentially causes deadlock */
|| !pthread::equal (owner, self))
{
- /* FIXME: no cancel? */
- cancelable_wait (win32_obj_id, cw_infinite, cw_sig);
+ cancelable_wait (win32_obj_id, NULL, cw_no_cancel, cw_sig_resume);
set_owner (self);
}
else
@@ -1884,8 +1939,7 @@ pthread_spinlock::lock ()
/* Minimal timeout to minimize CPU usage while still spinning. */
LARGE_INTEGER timeout;
timeout.QuadPart = -10000LL;
- /* FIXME: no cancel? */
- cancelable_wait (win32_obj_id, &timeout, cw_sig);
+ cancelable_wait (win32_obj_id, &timeout, cw_no_cancel, cw_sig_resume);
}
}
while (result == -1);
@@ -1930,7 +1984,6 @@ pthread::thread_init_wrapper (void *arg)
_my_tls.sigmask = thread->parent_sigmask;
thread->mutex.unlock ();
- debug_printf ("tid %p", &_my_tls);
thread_printf ("started thread %p %p %p %p %p %p", arg, &_my_tls.local_clib,
_impure_ptr, thread, thread->function, thread->arg);
@@ -2364,7 +2417,7 @@ pthread::join (pthread_t *thread, void **return_val)
(*thread)->attr.joinable = PTHREAD_CREATE_DETACHED;
(*thread)->mutex.unlock ();
- switch (cancelable_wait ((*thread)->win32_obj_id, cw_infinite, cw_sig | cw_cancel))
+ switch (cancelable_wait ((*thread)->win32_obj_id, NULL, cw_no_cancel_self, cw_sig_resume))
{
case WAIT_OBJECT_0:
if (return_val)
@@ -3015,7 +3068,10 @@ pthread_kill (pthread_t thread, int sig)
if (!thread->valid)
rval = ESRCH;
else if (sig)
- rval = sig_send (NULL, si, thread->cygtls);
+ {
+ thread->cygtls->set_threadkill ();
+ rval = sig_send (NULL, si, thread->cygtls);
+ }
else
switch (WaitForSingleObject (thread->win32_obj_id, 0))
{
@@ -3476,7 +3532,7 @@ semaphore::_timedwait (const struct timespec *abstime)
timeout.QuadPart = abstime->tv_sec * NSPERSEC
+ (abstime->tv_nsec + 99) / 100 + FACTOR;
- switch (cancelable_wait (win32_obj_id, &timeout, cw_cancel | cw_cancel_self | cw_sig_eintr))
+ switch (cancelable_wait (win32_obj_id, &timeout, cw_cancel_self, cw_sig_eintr))
{
case WAIT_OBJECT_0:
currentvalue--;
@@ -3498,7 +3554,7 @@ semaphore::_timedwait (const struct timespec *abstime)
int
semaphore::_wait ()
{
- switch (cancelable_wait (win32_obj_id, cw_infinite, cw_cancel | cw_cancel_self | cw_sig_eintr))
+ switch (cancelable_wait (win32_obj_id, NULL, cw_cancel_self, cw_sig_eintr))
{
case WAIT_OBJECT_0:
currentvalue--;
diff --git a/winsup/cygwin/thread.h b/winsup/cygwin/thread.h
index 141100714..ec3ca7ebf 100644
--- a/winsup/cygwin/thread.h
+++ b/winsup/cygwin/thread.h
@@ -29,7 +29,25 @@ details. */
#include "security.h"
#include <errno.h>
#include "cygerrno.h"
-#include "cygwait.h"
+
+enum cw_sig_wait
+{
+ cw_sig_nosig,
+ cw_sig_eintr,
+ cw_sig_resume
+};
+
+enum cw_cancel_action
+{
+ cw_cancel_self,
+ cw_no_cancel_self,
+ cw_no_cancel
+};
+
+DWORD cancelable_wait (HANDLE, PLARGE_INTEGER timeout = NULL,
+ const cw_cancel_action = cw_cancel_self,
+ const enum cw_sig_wait = cw_sig_nosig)
+ __attribute__ ((regparm (3)));
class fast_mutex
{
@@ -60,7 +78,7 @@ public:
void lock ()
{
if (InterlockedIncrement ((long *) &lock_counter) != 1)
- cancelable_wait (win32_obj_id, cw_infinite, cw_sig);
+ cancelable_wait (win32_obj_id, NULL, cw_no_cancel, cw_sig_resume);
}
void unlock ()
@@ -344,6 +362,9 @@ public:
pthread_spinlock (int);
};
+#define WAIT_CANCELED (WAIT_OBJECT_0 + 1)
+#define WAIT_SIGNALED (WAIT_OBJECT_0 + 2)
+
class _cygtls;
class pthread: public verifyable_object
{
diff --git a/winsup/cygwin/times.cc b/winsup/cygwin/times.cc
index e694d6875..4f4c39c92 100644
--- a/winsup/cygwin/times.cc
+++ b/winsup/cygwin/times.cc
@@ -1,7 +1,7 @@
/* times.cc
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -27,7 +27,17 @@ details. */
#include "cygtls.h"
#include "ntdll.h"
-hires_ms NO_COPY gtod;
+/* Max allowed diversion in 100ns of internal timer from system time. If
+ this difference is exceeded, the internal timer gets re-primed. */
+#define JITTER (40 * 10000LL)
+
+/* TODO: Putting this variable in the shared cygwin region partially solves
+ the problem of cygwin processes not recognizing date changes when other
+ cygwin processes set the date. There is still an additional problem of
+ long-running cygwin processes becoming confused when a non-cygwin process
+ sets the date. Unfortunately, it looks like a minor redesign is required
+ to handle that case. */
+hires_ms gtod __attribute__((section (".cygwin_dll_common"), shared));
hires_ns NO_COPY ntod;
@@ -565,7 +575,16 @@ hires_ms::nsecs ()
{
if (!inited)
prime ();
- return systime_ns ();
+
+ LONGLONG t = systime_ns ();
+ LONGLONG res = initime_ns + timeGetTime_ns ();
+ if (llabs (res - t) > JITTER)
+ {
+ inited = false;
+ prime ();
+ res = initime_ns + timeGetTime_ns ();
+ }
+ return res;
}
extern "C" int
@@ -712,15 +731,10 @@ hires_ms::resolution ()
status = NtQueryTimerResolution (&coarsest, &finest, &actual);
if (NT_SUCCESS (status))
- /* The actual resolution of the OS timer is a system-wide setting which
- can be changed any time, by any process. The only fixed value we
- can rely on is the coarsest value. */
- minperiod = coarsest;
+ minperiod = (DWORD) actual;
else
{
- /* There's no good reason that NtQueryTimerResolution should fail
- at all, but let's play it safe. Try to empirically determine
- current timer resolution */
+ /* Try to empirically determine current timer resolution */
int priority = GetThreadPriority (GetCurrentThread ());
SetThreadPriority (GetCurrentThread (),
THREAD_PRIORITY_TIME_CRITICAL);
@@ -823,7 +837,7 @@ clock_setres (clockid_t clk_id, struct timespec *tp)
__seterrno_from_nt_status (status);
return -1;
}
- minperiod = period;
+ minperiod = actual;
period_set = true;
return 0;
}
diff --git a/winsup/cygwin/tlsoffsets.h b/winsup/cygwin/tlsoffsets.h
index 1ab4559b9..18057742c 100644
--- a/winsup/cygwin/tlsoffsets.h
+++ b/winsup/cygwin/tlsoffsets.h
@@ -1,42 +1,42 @@
//;# autogenerated: Do not edit.
-//; $tls::start_offset = -12700;
-//; $tls::locals = -12700;
-//; $tls::plocals = 0;
-//; $tls::local_clib = -11236;
-//; $tls::plocal_clib = 1464;
-//; $tls::__dontuse = -11236;
-//; $tls::p__dontuse = 1464;
-//; $tls::func = -10148;
-//; $tls::pfunc = 2552;
-//; $tls::saved_errno = -10144;
-//; $tls::psaved_errno = 2556;
-//; $tls::sa_flags = -10140;
-//; $tls::psa_flags = 2560;
-//; $tls::oldmask = -10136;
-//; $tls::poldmask = 2564;
-//; $tls::deltamask = -10132;
-//; $tls::pdeltamask = 2568;
-//; $tls::errno_addr = -10128;
-//; $tls::perrno_addr = 2572;
-//; $tls::sigmask = -10124;
-//; $tls::psigmask = 2576;
-//; $tls::sigwait_mask = -10120;
-//; $tls::psigwait_mask = 2580;
-//; $tls::sigwait_info = -10116;
-//; $tls::psigwait_info = 2584;
-//; $tls::signal_arrived = -10112;
-//; $tls::psignal_arrived = 2588;
-//; $tls::signal_waiting = -10108;
-//; $tls::psignal_waiting = 2592;
-//; $tls::thread_context = -10104;
-//; $tls::pthread_context = 2596;
-//; $tls::thread_id = -9892;
-//; $tls::pthread_id = 2808;
-//; $tls::infodata = -9888;
-//; $tls::pinfodata = 2812;
-//; $tls::tid = -9740;
-//; $tls::ptid = 2960;
+//; $tls::sizeof__cygtls = 4048;
+//; $tls::func = -12700;
+//; $tls::pfunc = 0;
+//; $tls::saved_errno = -12696;
+//; $tls::psaved_errno = 4;
+//; $tls::sa_flags = -12692;
+//; $tls::psa_flags = 8;
+//; $tls::oldmask = -12688;
+//; $tls::poldmask = 12;
+//; $tls::deltamask = -12684;
+//; $tls::pdeltamask = 16;
+//; $tls::event = -12680;
+//; $tls::pevent = 20;
+//; $tls::errno_addr = -12676;
+//; $tls::perrno_addr = 24;
+//; $tls::sigmask = -12672;
+//; $tls::psigmask = 28;
+//; $tls::sigwait_mask = -12668;
+//; $tls::psigwait_mask = 32;
+//; $tls::sigwait_info = -12664;
+//; $tls::psigwait_info = 36;
+//; $tls::thread_context = -12660;
+//; $tls::pthread_context = 40;
+//; $tls::thread_id = -12448;
+//; $tls::pthread_id = 252;
+//; $tls::threadkill = -12444;
+//; $tls::pthreadkill = 256;
+//; $tls::infodata = -12440;
+//; $tls::pinfodata = 260;
+//; $tls::tid = -12292;
+//; $tls::ptid = 408;
+//; $tls::local_clib = -12288;
+//; $tls::plocal_clib = 412;
+//; $tls::__dontuse = -12288;
+//; $tls::p__dontuse = 412;
+//; $tls::locals = -11200;
+//; $tls::plocals = 1500;
//; $tls::_ctinfo = -9736;
//; $tls::p_ctinfo = 2964;
//; $tls::andreas = -9732;
@@ -59,42 +59,42 @@
//; $tls::pinitialized = 4044;
//; __DATA__
-#define tls_locals (-12700)
-#define tls_plocals (0)
-#define tls_local_clib (-11236)
-#define tls_plocal_clib (1464)
-#define tls___dontuse (-11236)
-#define tls_p__dontuse (1464)
-#define tls_func (-10148)
-#define tls_pfunc (2552)
-#define tls_saved_errno (-10144)
-#define tls_psaved_errno (2556)
-#define tls_sa_flags (-10140)
-#define tls_psa_flags (2560)
-#define tls_oldmask (-10136)
-#define tls_poldmask (2564)
-#define tls_deltamask (-10132)
-#define tls_pdeltamask (2568)
-#define tls_errno_addr (-10128)
-#define tls_perrno_addr (2572)
-#define tls_sigmask (-10124)
-#define tls_psigmask (2576)
-#define tls_sigwait_mask (-10120)
-#define tls_psigwait_mask (2580)
-#define tls_sigwait_info (-10116)
-#define tls_psigwait_info (2584)
-#define tls_signal_arrived (-10112)
-#define tls_psignal_arrived (2588)
-#define tls_signal_waiting (-10108)
-#define tls_psignal_waiting (2592)
-#define tls_thread_context (-10104)
-#define tls_pthread_context (2596)
-#define tls_thread_id (-9892)
-#define tls_pthread_id (2808)
-#define tls_infodata (-9888)
-#define tls_pinfodata (2812)
-#define tls_tid (-9740)
-#define tls_ptid (2960)
+#define tls_func (-12700)
+#define tls_pfunc (0)
+#define tls_saved_errno (-12696)
+#define tls_psaved_errno (4)
+#define tls_sa_flags (-12692)
+#define tls_psa_flags (8)
+#define tls_oldmask (-12688)
+#define tls_poldmask (12)
+#define tls_deltamask (-12684)
+#define tls_pdeltamask (16)
+#define tls_event (-12680)
+#define tls_pevent (20)
+#define tls_errno_addr (-12676)
+#define tls_perrno_addr (24)
+#define tls_sigmask (-12672)
+#define tls_psigmask (28)
+#define tls_sigwait_mask (-12668)
+#define tls_psigwait_mask (32)
+#define tls_sigwait_info (-12664)
+#define tls_psigwait_info (36)
+#define tls_thread_context (-12660)
+#define tls_pthread_context (40)
+#define tls_thread_id (-12448)
+#define tls_pthread_id (252)
+#define tls_threadkill (-12444)
+#define tls_pthreadkill (256)
+#define tls_infodata (-12440)
+#define tls_pinfodata (260)
+#define tls_tid (-12292)
+#define tls_ptid (408)
+#define tls_local_clib (-12288)
+#define tls_plocal_clib (412)
+#define tls___dontuse (-12288)
+#define tls_p__dontuse (412)
+#define tls_locals (-11200)
+#define tls_plocals (1500)
#define tls__ctinfo (-9736)
#define tls_p_ctinfo (2964)
#define tls_andreas (-9732)
diff --git a/winsup/cygwin/wait.cc b/winsup/cygwin/wait.cc
index ae0403194..91a76239a 100644
--- a/winsup/cygwin/wait.cc
+++ b/winsup/cygwin/wait.cc
@@ -1,7 +1,7 @@
/* wait.cc: Posix wait routines.
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2009, 2011, 2012 Red Hat, Inc.
+ 2005, 2009, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -14,7 +14,6 @@ details. */
#include "sigproc.h"
#include "thread.h"
#include "cygtls.h"
-#include "cygwait.h"
/* This is called _wait and not wait because the real wait is defined
in libc/syscalls/syswait.c. It calls us. */
@@ -80,7 +79,7 @@ wait4 (int intpid, int *status, int options, struct rusage *r)
if ((waitfor = w->ev) == NULL)
goto nochildren;
- res = cancelable_wait (waitfor, cw_infinite, cw_cancel | cw_cancel_self);
+ res = cancelable_wait (waitfor);
sigproc_printf ("%d = cancelable_wait (...)", res);
diff --git a/winsup/cygwin/winbase.h b/winsup/cygwin/winbase.h
index 95fac3045..00c71a923 100644
--- a/winsup/cygwin/winbase.h
+++ b/winsup/cygwin/winbase.h
@@ -1,6 +1,6 @@
/* winbase.h
- Copyright 2002, 2003, 2004, 2008, 2009, 2012 Red Hat, Inc.
+ Copyright 2002, 2003, 2004, 2008 Red Hat, Inc.
This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
@@ -11,25 +11,10 @@ details. */
#ifndef _WINBASE2_H
#define _WINBASE2_H
-/* For some unknown reason, InterlockedAdd is only supported on Itanium
- when using the Windows headers. Fortunately we're not restricted to the
- Windows headers :) */
-extern __inline__ LONG
-ilockadd (volatile LONG *m, LONG value)
+extern __inline__ long
+ilockincr (volatile long *m)
{
- register LONG __res;
- __asm__ __volatile__ ("\n\
- movl %3,%0\n\
- lock xadd %0,%1\n\
- addl %3,%0\n\
- ": "=&r" (__res), "=m" (*m): "m" (*m), "r" (value): "cc");
- return __res;
-}
-
-extern __inline__ LONG
-ilockincr (volatile LONG *m)
-{
- register LONG __res;
+ register int __res;
__asm__ __volatile__ ("\n\
movl $1,%0\n\
lock xadd %0,%1\n\
@@ -38,10 +23,10 @@ ilockincr (volatile LONG *m)
return __res;
}
-extern __inline__ LONG
-ilockdecr (volatile LONG *m)
+extern __inline__ long
+ilockdecr (volatile long *m)
{
- register LONG __res;
+ register int __res;
__asm__ __volatile__ ("\n\
movl $0xffffffff,%0\n\
lock xadd %0,%1\n\
@@ -50,12 +35,12 @@ ilockdecr (volatile LONG *m)
return __res;
}
-extern __inline__ LONG
-ilockexch (volatile LONG *t, long v)
+extern __inline__ long
+ilockexch (volatile long *t, long v)
{
return
({
- register LONG ret __asm ("%eax");
+ register long ret __asm ("%eax");
__asm __volatile ("\n"
"1: lock cmpxchgl %2, %1\n"
" jne 1b\n"
@@ -66,12 +51,12 @@ ilockexch (volatile LONG *t, long v)
});
}
-extern __inline__ LONG
-ilockcmpexch (volatile LONG *t, LONG v, LONG c)
+extern __inline__ long
+ilockcmpexch (volatile long *t, long v, long c)
{
return
({
- register LONG ret __asm ("%eax");
+ register long ret __asm ("%eax");
__asm __volatile ("lock cmpxchgl %2, %1"
: "=a" (ret), "=m" (*t)
: "r" (v), "m" (*t), "0" (c)
@@ -80,8 +65,6 @@ ilockcmpexch (volatile LONG *t, LONG v, LONG c)
});
}
-#undef InterlockedAdd
-#define InterlockedAdd ilockadd
#undef InterlockedIncrement
#define InterlockedIncrement ilockincr
#undef InterlockedDecrement
@@ -90,9 +73,4 @@ ilockcmpexch (volatile LONG *t, LONG v, LONG c)
#define InterlockedExchange ilockexch
#undef InterlockedCompareExchange
#define InterlockedCompareExchange ilockcmpexch
-#undef InterlockedCompareExchangePointer
-#ifndef __x86_64
-#define InterlockedCompareExchangePointer(d,e,c) \
- (PVOID)InterlockedCompareExchange((LONG volatile *)(d),(LONG)(e),(LONG)(c))
-#endif /* !__x86_64 */
#endif /*_WINBASE2_H*/
diff --git a/winsup/cygwin/wincap.cc b/winsup/cygwin/wincap.cc
index 48b51c275..6fe172f77 100644
--- a/winsup/cygwin/wincap.cc
+++ b/winsup/cygwin/wincap.cc
@@ -37,7 +37,6 @@ wincaps wincap_2000 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_recycle_dot_bin:false,
has_gaa_prefixes:false,
has_gaa_on_link_prefix:false,
- has_gaa_largeaddress_bug:false,
supports_all_posix_ai_flags:false,
has_restricted_stack_args:false,
has_transactions:false,
@@ -54,7 +53,7 @@ wincaps wincap_2000 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_stack_size_param_is_a_reservation:false,
has_console_logon_sid:false,
wow64_has_secondary_stack:false,
- has_program_compatibility_assistant:false,
+ has_program_compatibility_assitant:false,
kernel_is_always_casesensitive:true,
};
@@ -72,7 +71,6 @@ wincaps wincap_2000sp4 __attribute__((section (".cygwin_dll_common"), shared)) =
has_recycle_dot_bin:false,
has_gaa_prefixes:false,
has_gaa_on_link_prefix:false,
- has_gaa_largeaddress_bug:false,
supports_all_posix_ai_flags:false,
has_restricted_stack_args:false,
has_transactions:false,
@@ -89,7 +87,7 @@ wincaps wincap_2000sp4 __attribute__((section (".cygwin_dll_common"), shared)) =
has_stack_size_param_is_a_reservation:false,
has_console_logon_sid:false,
wow64_has_secondary_stack:false,
- has_program_compatibility_assistant:false,
+ has_program_compatibility_assitant:false,
kernel_is_always_casesensitive:true,
};
@@ -107,7 +105,6 @@ wincaps wincap_xp __attribute__((section (".cygwin_dll_common"), shared)) = {
has_recycle_dot_bin:false,
has_gaa_prefixes:false,
has_gaa_on_link_prefix:false,
- has_gaa_largeaddress_bug:false,
supports_all_posix_ai_flags:false,
has_restricted_stack_args:false,
has_transactions:false,
@@ -124,7 +121,7 @@ wincaps wincap_xp __attribute__((section (".cygwin_dll_common"), shared)) = {
has_stack_size_param_is_a_reservation:true,
has_console_logon_sid:false,
wow64_has_secondary_stack:false,
- has_program_compatibility_assistant:false,
+ has_program_compatibility_assitant:false,
kernel_is_always_casesensitive:false,
};
@@ -142,7 +139,6 @@ wincaps wincap_xpsp1 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_recycle_dot_bin:false,
has_gaa_prefixes:true,
has_gaa_on_link_prefix:false,
- has_gaa_largeaddress_bug:false,
supports_all_posix_ai_flags:false,
has_restricted_stack_args:false,
has_transactions:false,
@@ -159,7 +155,7 @@ wincaps wincap_xpsp1 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_stack_size_param_is_a_reservation:true,
has_console_logon_sid:false,
wow64_has_secondary_stack:false,
- has_program_compatibility_assistant:false,
+ has_program_compatibility_assitant:false,
kernel_is_always_casesensitive:false,
};
@@ -177,7 +173,6 @@ wincaps wincap_xpsp2 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_recycle_dot_bin:false,
has_gaa_prefixes:true,
has_gaa_on_link_prefix:false,
- has_gaa_largeaddress_bug:false,
supports_all_posix_ai_flags:false,
has_restricted_stack_args:false,
has_transactions:false,
@@ -194,7 +189,7 @@ wincaps wincap_xpsp2 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_stack_size_param_is_a_reservation:true,
has_console_logon_sid:false,
wow64_has_secondary_stack:false,
- has_program_compatibility_assistant:false,
+ has_program_compatibility_assitant:false,
kernel_is_always_casesensitive:false,
};
@@ -212,7 +207,6 @@ wincaps wincap_2003 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_recycle_dot_bin:false,
has_gaa_prefixes:true,
has_gaa_on_link_prefix:false,
- has_gaa_largeaddress_bug:false,
supports_all_posix_ai_flags:false,
has_restricted_stack_args:true,
has_transactions:false,
@@ -229,7 +223,7 @@ wincaps wincap_2003 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_stack_size_param_is_a_reservation:true,
has_console_logon_sid:false,
wow64_has_secondary_stack:true,
- has_program_compatibility_assistant:false,
+ has_program_compatibility_assitant:false,
kernel_is_always_casesensitive:false,
};
@@ -247,7 +241,6 @@ wincaps wincap_vista __attribute__((section (".cygwin_dll_common"), shared)) = {
has_recycle_dot_bin:true,
has_gaa_prefixes:true,
has_gaa_on_link_prefix:true,
- has_gaa_largeaddress_bug:true,
supports_all_posix_ai_flags:true,
has_restricted_stack_args:false,
has_transactions:true,
@@ -264,7 +257,7 @@ wincaps wincap_vista __attribute__((section (".cygwin_dll_common"), shared)) = {
has_stack_size_param_is_a_reservation:true,
has_console_logon_sid:false,
wow64_has_secondary_stack:false,
- has_program_compatibility_assistant:true,
+ has_program_compatibility_assitant:true,
kernel_is_always_casesensitive:false,
};
@@ -282,7 +275,6 @@ wincaps wincap_7 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_recycle_dot_bin:true,
has_gaa_prefixes:true,
has_gaa_on_link_prefix:true,
- has_gaa_largeaddress_bug:true,
supports_all_posix_ai_flags:true,
has_restricted_stack_args:false,
has_transactions:true,
@@ -299,42 +291,7 @@ wincaps wincap_7 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_stack_size_param_is_a_reservation:true,
has_console_logon_sid:true,
wow64_has_secondary_stack:false,
- has_program_compatibility_assistant:true,
- kernel_is_always_casesensitive:false,
-};
-
-wincaps wincap_8 __attribute__((section (".cygwin_dll_common"), shared)) = {
- max_sys_priv:SE_CREATE_SYMBOLIC_LINK_PRIVILEGE,
- is_server:false,
- has_physical_mem_access:false,
- has_create_global_privilege:true,
- has_ioctl_storage_get_media_types_ex:true,
- has_disk_ex_ioctls:true,
- has_buggy_restart_scan:false,
- has_mandatory_integrity_control:true,
- needs_logon_sid_in_sid_list:false,
- needs_count_in_si_lpres2:false,
- has_recycle_dot_bin:true,
- has_gaa_prefixes:true,
- has_gaa_on_link_prefix:true,
- has_gaa_largeaddress_bug:false,
- supports_all_posix_ai_flags:true,
- has_restricted_stack_args:false,
- has_transactions:true,
- has_recvmsg:true,
- has_sendmsg:true,
- has_broken_udf:false,
- has_console_handle_problem:true,
- has_broken_alloc_console:true,
- has_always_all_codepages:true,
- has_localenames:true,
- has_fast_cwd:true,
- has_restricted_raw_disk_access:true,
- use_dont_resolve_hack:false,
- has_stack_size_param_is_a_reservation:true,
- has_console_logon_sid:true,
- wow64_has_secondary_stack:false,
- has_program_compatibility_assistant:true,
+ has_program_compatibility_assitant:true,
kernel_is_always_casesensitive:false,
};
@@ -347,52 +304,69 @@ wincapc::init ()
return; // already initialized
GetSystemInfo (&system_info);
+ memset (&version, 0, sizeof version);
version.dwOSVersionInfoSize = sizeof (OSVERSIONINFOEX);
- GetVersionEx (reinterpret_cast<LPOSVERSIONINFO>(&version));
+ if (!GetVersionEx (reinterpret_cast<LPOSVERSIONINFO>(&version)))
+ api_fatal ("Cygwin requires at least Windows 2000.");
- switch (version.dwMajorVersion)
+ switch (version.dwPlatformId)
{
- case 5:
- switch (version.dwMinorVersion)
+ case VER_PLATFORM_WIN32_NT:
+ switch (version.dwMajorVersion)
{
- case 0:
- if (version.wServicePackMajor < 4)
- caps = &wincap_2000;
- else
- caps = &wincap_2000sp4;
+ case 4:
+ /* I'd be very surprised if this code is ever hit, but it doesn't
+ hurt to keep it. */
+ api_fatal ("Cygwin requires at least Windows 2000.");
break;
-
- case 1:
- caps = &wincap_xp;
- switch (version.wServicePackMajor)
+ case 5:
+ switch (version.dwMinorVersion)
{
- case 0:
- caps = &wincap_xp;
- case 1:
- caps = &wincap_xpsp1;
- default:
- caps = &wincap_xpsp2;
- }
- break;
+ case 0:
+ if (version.wServicePackMajor < 4)
+ caps = &wincap_2000;
+ else
+ caps = &wincap_2000sp4;
+ break;
- default:
- caps = &wincap_2003;
- }
- break;
- case 6:
- switch (version.dwMinorVersion)
- {
- case 0:
- caps = &wincap_vista;
+ case 1:
+ caps = &wincap_xp;
+ switch (version.wServicePackMajor)
+ {
+ case 0:
+ caps = &wincap_xp;
+ case 1:
+ caps = &wincap_xpsp1;
+ default:
+ caps = &wincap_xpsp2;
+ }
+ break;
+
+ default:
+ caps = &wincap_2003;
+ }
break;
- case 1:
- caps = &wincap_7;
+ case 6:
+ switch (version.dwMinorVersion)
+ {
+ case 0:
+ caps = &wincap_vista;
+ break;
+ default:
+ caps = &wincap_7;
+ break;
+ }
break;
default:
- caps = &wincap_8;
+ caps = &wincap_minimal;
break;
}
break;
+ case VER_PLATFORM_WIN32_WINDOWS:
+ /* I'd be very surprised if this code is ever hit, but it doesn't
+ hurt to keep it. */
+ api_fatal ("Windows 95/98/Me are not supported.");
+ break;
default:
caps = &wincap_minimal;
break;
@@ -407,7 +381,6 @@ wincapc::init ()
((wincaps *)caps)->needs_count_in_si_lpres2 = false;
((wincaps *)caps)->has_restricted_stack_args = false;
((wincaps *)caps)->wow64_has_secondary_stack = false;
- ((wincaps *)caps)->has_gaa_largeaddress_bug = false;
}
__small_sprintf (osnam, "NT-%d.%d", version.dwMajorVersion,
diff --git a/winsup/cygwin/wincap.h b/winsup/cygwin/wincap.h
index 6bd291dfa..3ca5d87ea 100644
--- a/winsup/cygwin/wincap.h
+++ b/winsup/cygwin/wincap.h
@@ -27,7 +27,6 @@ struct wincaps
unsigned has_recycle_dot_bin : 1;
unsigned has_gaa_prefixes : 1;
unsigned has_gaa_on_link_prefix : 1;
- unsigned has_gaa_largeaddress_bug : 1;
unsigned supports_all_posix_ai_flags : 1;
unsigned has_restricted_stack_args : 1;
unsigned has_transactions : 1;
@@ -44,7 +43,7 @@ struct wincaps
unsigned has_stack_size_param_is_a_reservation : 1;
unsigned has_console_logon_sid : 1;
unsigned wow64_has_secondary_stack : 1;
- unsigned has_program_compatibility_assistant : 1;
+ unsigned has_program_compatibility_assitant : 1;
unsigned kernel_is_always_casesensitive : 1;
};
@@ -81,7 +80,6 @@ public:
bool IMPLEMENT (has_recycle_dot_bin)
bool IMPLEMENT (has_gaa_prefixes)
bool IMPLEMENT (has_gaa_on_link_prefix)
- bool IMPLEMENT (has_gaa_largeaddress_bug)
bool IMPLEMENT (supports_all_posix_ai_flags)
bool IMPLEMENT (has_restricted_stack_args)
bool IMPLEMENT (has_transactions)
@@ -98,7 +96,7 @@ public:
bool IMPLEMENT (has_stack_size_param_is_a_reservation)
bool IMPLEMENT (has_console_logon_sid)
bool IMPLEMENT (wow64_has_secondary_stack)
- bool IMPLEMENT (has_program_compatibility_assistant)
+ bool IMPLEMENT (has_program_compatibility_assitant)
bool IMPLEMENT (kernel_is_always_casesensitive)
#undef IMPLEMENT
diff --git a/winsup/cygwin/winlean.h b/winsup/cygwin/winlean.h
index aa092ee53..d2d7f7a56 100644
--- a/winsup/cygwin/winlean.h
+++ b/winsup/cygwin/winlean.h
@@ -1,6 +1,6 @@
/* winlean.h - Standard "lean" windows include
- Copyright 2010, 2011, 2012 Red Hat, Inc.
+ Copyright 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -11,85 +11,22 @@ details. */
#ifndef _WINLEAN_H
#define _WINLEAN_H 1
#define WIN32_LEAN_AND_MEAN 1
-
-/* Mingw32 */
#define _WINGDI_H
#define _WINUSER_H
#define _WINNLS_H
#define _WINVER_H
#define _WINNETWK_H
#define _WINSVC_H
-/* Mingw64 */
-#define _WINNLS_
-#define _WINNETWK_
-#define _WINSVC_
-#define _ADVAPI32_
-#define _DSGETDCAPI_
-#define _GDI32_
-#define _KERNEL32_
-#define _OLE32_
-#define _SHELL32_
-#define _SPOOL32_
-#define _USER32_
-#define _WINMM_
-#define WINIMPM
-#define WINSOCK_API_LINKAGE
-#define NTDDI_VERSION 0x6020000 /* Probably should just be derived from our
- _WIN32_WINNT setting in winsup.h */
-
-/* Windows headers define a couple of annoyingly intrusive macros for the
- sole purpose of inline documentation. Since they are defined without
- respect for the namespace and not undef'ed anymore, they tend to collide
- with otherwise innocent definitions in the application. We check if they
- exist and if not, we undef them again after including the Windows headers. */
-#ifndef IN
-#define __undef_IN
-#endif
-#ifndef OUT
-#define __undef_OUT
-#endif
-#ifndef OPTIONAL
-#define __undef_OPTIONAL
-#endif
-#ifndef NOTHING
-#define __undef_NOTHING
-#endif
-#ifndef CRITICAL
-#define __undef_CRITICAL
-#endif
-
#include <windows.h>
#include <wincrypt.h>
#include <lmcons.h>
#include <ntdef.h>
-
-#ifdef __undef_IN
-#undef IN
-#endif
-#ifdef __undef_OUT
-#undef OUT
-#endif
-#ifdef __undef_OPTIONAL
-#undef OPTIONAL
-#endif
-#ifdef __undef_NOTHING
-#undef NOTHING
-#endif
-#ifdef __undef_CRITICAL
-#undef CRITICAL
-#endif
-
#undef _WINGDI_H
#undef _WINUSER_H
#undef _WINNLS_H
#undef _WINVER_H
#undef _WINNETWK_H
#undef _WINSVC_H
-
-#undef _WINNLS_
-#undef _WINNETWK_
-#undef _WINSVC_
-
/* When Terminal Services are installed, the GetWindowsDirectory function
does not return the system installation dir, but a user specific directory
instead. That's not what we have in mind when calling GetWindowsDirectory
diff --git a/winsup/cygwin/winsup.h b/winsup/cygwin/winsup.h
index fd6d6906f..c2f015148 100644
--- a/winsup/cygwin/winsup.h
+++ b/winsup/cygwin/winsup.h
@@ -1,7 +1,7 @@
/* winsup.h: main Cygwin header file.
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -9,6 +9,12 @@ This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
+#ifdef DEBUGIT
+#define spf(a, b, c) small_printf (a, b, c)
+#else
+#define spf(a, b, c) do {} while (0)
+#endif
+
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
@@ -21,11 +27,7 @@ details. */
#define EXPORT_ALIAS(sym,symalias) extern "C" __typeof (sym) symalias __attribute__ ((alias(#sym)));
-/* Fun, fun, fun. On Mingw64, WINVER is set according to the value of
- _WIN32_WINNT, on Mingw32 it's exactly the opposite... */
-#define _WIN32_WINNT 0x0602
-#define WINVER 0x0602
-
+#define WINVER 0x0601
#define _NO_W32_PSEUDO_MODIFIERS
#include <sys/types.h>
@@ -75,12 +77,8 @@ int fcntl64 (int fd, int cmd, ...);
#define __WIDE(a) L ## a
#define _WIDE(a) __WIDE(a)
-#include "winlean.h"
-
#ifdef __cplusplus
-#include "wincap.h"
-
extern const char case_folded_lower[];
#define cyg_tolower(c) (case_folded_lower[(unsigned char)(c)])
extern const char case_folded_upper[];
@@ -90,6 +88,12 @@ extern const char case_folded_upper[];
#define cfree newlib_cfree_dont_use
#endif
+#include "winlean.h"
+#include "wincap.h"
+
+/* The one function we use from winuser.h most of the time */
+extern "C" DWORD WINAPI GetLastError (void);
+
/* Used as type by sys_wcstombs_alloc and sys_mbstowcs_alloc. For a
description see there. */
#define HEAP_NOTHEAP -1
@@ -161,7 +165,7 @@ void dll_dllcrt0_1 (void *);
/* dynamically loaded dll initialization */
extern "C" int dll_dllcrt0 (HMODULE, per_process *);
-extern "C" void _pei386_runtime_relocator (per_process *);
+void _pei386_runtime_relocator (per_process *);
/* dynamically loaded dll initialization for non-cygwin apps */
extern "C" int dll_noncygwin_dllcrt0 (HMODULE, per_process *);
@@ -294,10 +298,9 @@ extern "C" char _data_start__, _data_end__, _bss_start__, _bss_end__;
extern "C" void (*__CTOR_LIST__) (void);
extern "C" void (*__DTOR_LIST__) (void);
-#ifndef NO_GLOBALS_H
+#if !defined(_GLOBALS_H)
#include "globals.h"
-
-extern inline void clear_procimptoken ()
+inline void clear_procimptoken ()
{
if (hProcImpToken)
{
@@ -306,5 +309,6 @@ extern inline void clear_procimptoken ()
CloseHandle (old_procimp);
}
}
-#endif /*NO_GLOBALS_H*/
+#endif
+
#endif /* defined __cplusplus */
diff --git a/winsup/cygwin/winver.rc b/winsup/cygwin/winver.rc
index 2179f5e51..0e702d0f1 100644
--- a/winsup/cygwin/winver.rc
+++ b/winsup/cygwin/winver.rc
@@ -33,7 +33,7 @@ BEGIN
VALUE "FileDescription", "Cygwin\256 POSIX Emulation DLL"
VALUE "FileVersion", STRINGIFY(CYGWIN_VERSION)
VALUE "InternalName", CYGWIN_DLL_NAME
- VALUE "LegalCopyright", "Copyright \251 Red Hat, Inc. 1996-2012"
+ VALUE "LegalCopyright", "Copyright \251 Red Hat, Inc. 1996-2011"
VALUE "OriginalFilename", CYGWIN_DLL_NAME
VALUE "ProductName", "Cygwin"
VALUE "ProductVersion", STRINGIFY(CYGWIN_VERSION)
diff --git a/winsup/doc/ChangeLog b/winsup/doc/ChangeLog
index 2480c5164..0b89df0a0 100644
--- a/winsup/doc/ChangeLog
+++ b/winsup/doc/ChangeLog
@@ -1,120 +1,3 @@
-2012-08-03 Adam Dinwoodie <Adam.Dinwoodie@metaswitch.com>
-
- * faq-using.xml (faq.using.man): Make relevance to whatis explicit.
-
-2012-07-20 Corinna Vinschen <corinna@vinschen.de>
-
- * pathnames.sgml (pathnames-intro): Remove paragraph on UNC paths.
- Try to be clearer on POSIX vs. Win32 paths.
- (unc-paths): New section.
- (cygdrive): Fix a few SGML qualifiers.
- * setup-net.sgml: Move ntsec section from here...
- * using.sgml: ..to here.
-
-2012-07-18 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * new-features.sgml (ov-new1.7.16): Document getmntent_r.
-
-2012-07-17 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * faq-programming.xml (faq.programming.unix-gui): Update to
- reflect the availability of X11 toolkits on Cygwin.
-
-2012-06-03 Corinna Vinschen <corinna@vinschen.de>
-
- * new-features.sgml (ov-new1.7.16): Document ReFS support.
-
-2012-05-10 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * new-features.sgml (ov-new1.7.16): Document memrchr.
-
-2012-05-09 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * new-features.sgml (ov-new1.7.15): Fix XML syntax.
-
-2012-05-07 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * new-features.sgml (ov-new1.7.15): Fix tag.
-
-2012-05-06 Christopher Faylor <me.cygwin2012@cgf.cx>
-
- * cygwinenv.sgml: Add pipe_byte description.
- * new-features.sgml (ov-new1.7.15): Add new pipe_byte description for
- 1.7.15.
-
-2012-04-25 Corinna Vinschen <corinna@vinschen.de>
-
- * new-features.sgml (ov-new1.7.14): Add mouse reporting mode 1005.
-
-2012-04-24 Corinna Vinschen <corinna@vinschen.de>
-
- * new-features.sgml (ov-new1.7.14): New section. Add new console mouse
- reporting modes.
-
-2012-04-24 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * configure: Regenerate.
-
-2012-04-23 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * faq-using.xml (faq.using.emacs, faq.using.xemacs): Change links
- from http://cygwin.com/xfree to http://x.cygwin.com.
-
-2012-04-23 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * faq-programming.xml (faq.programming.objective-c): Update for gcc4.
- (faq.programming.win32-api): -mwindows does include -lcomdlg32.
- (faq.programming.win32-no-cygwin): Update for removal of -mno-cygwin.
- * overview2.sgml (ov-ex-win): Ditto.
-
-2012-04-05 Corinna Vinschen <corinna@vinschen.de>
-
- * new-features.sgml (ov-new1.7.13): Add typeahead description.
-
-2012-04-05 Corinna Vinschen <corinna@vinschen.de>
-
- * new-features.sgml (ov-new1.7.13): New section. Add entry for
- mkpasswd/mkgroup change to print TrustedInstaller account.
-
-2012-04-03 Corinna Vinschen <corinna@vinschen.de>
-
- * new-features.sgml (ov-new1.7.12): Fix layout of flock example.
-
-2012-03-30 Corinna Vinschen <corinna@vinschen.de>
-
- * new-features.sgml (ov-new1.7.12): Fix typo.
-
-2012-03-30 Corinna Vinschen <corinna@vinschen.de>
-
- * cygwinenv.sgml (cygwinenv-implemented-options): Add detect_bloda.
- * new-features.sgml (ov-new1.7.12): Add list items for the change to
- flock and the detect_bloda CYGWIN option.
- * overview2.sgml (ov-hi-process-problems): Add a reference to the
- detect_bloda CYGWIN option.
-
-2012-03-27 Corinna Vinschen <corinna@vinschen.de>
-
- * new-features.sgml (ov-new1.7.12): Create. Move mountinfo here.
- Add /dev notice.
- * pathnames.sgml (pathnames-posixdevices): Rephrase to account for
- /dev change in 1.7.12.
-
-2012-03-27 Corinna Vinschen <corinna@vinschen.de>
-
- * new-features.sgml (ov-new1.7.11): Add mountinfo.
-
-2012-03-01 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * faq-programming.xml (faq.programming.make-execvp): Remove obsolete
- information about Tcl/Tk.
- (faq.programming.dll-relocatable): Ditto.
- * faq-using.xml (faq.using.tcl-tk): Rewrite to reflect switch to
- X11 Tcl/Tk.
-
-2012-02-27 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * faq-using.xml (faq.using.bloda): Fix missing closing parenthesis.
-
2012-02-25 Corinna Vinschen <corinna@vinschen.de>
* new-features.sgml (ov-new1.7.11): Add two more changes to the list.
diff --git a/winsup/doc/configure b/winsup/doc/configure
index b45547ca3..769de69ae 100755
--- a/winsup/doc/configure
+++ b/winsup/doc/configure
@@ -1,422 +1,81 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68.
-#
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
-#
+# Generated by GNU Autoconf 2.59.
#
+# Copyright (C) 2003 Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
fi
+DUALCASE=1; export DUALCASE # for MKS sh
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
+ as_unset=false
fi
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
PS1='$ '
PS2='> '
PS4='+ '
# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-"
- as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
- exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1"
- if (eval "$as_required") 2>/dev/null; then :
- as_have_required=yes
-else
- as_have_required=no
-fi
- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- as_found=:
- case $as_dir in #(
- /*)
- for as_base in sh bash ksh sh5; do
- # Try only shells that exist, to save several forks.
- as_shell=$as_dir/$as_base
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
- CONFIG_SHELL=$as_shell as_have_required=yes
- if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
- break 2
-fi
-fi
- done;;
- esac
- as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
- CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
- if test "x$CONFIG_SHELL" != x; then :
- # We cannot yet assume a decent shell, so we have to provide a
- # neutralization value for shells without unset; and this also
- # works around shells that cannot unset nonexistent variables.
- # Preserve -v and -x to the replacement shell.
- BASH_ENV=/dev/null
- ENV=/dev/null
- (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
- export CONFIG_SHELL
- case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
- esac
- exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
-
- if test x$as_have_required = xno; then :
- $as_echo "$0: This script requires a shell more modern than all"
- $as_echo "$0: the shells that I found on your system."
- if test x${ZSH_VERSION+set} = xset ; then
- $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
else
- $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
-$0: including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
+ $as_unset $as_var
fi
- exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
+done
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
as_expr=expr
else
as_expr=false
fi
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
fi
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-as_me=`$as_basename -- "$0" ||
+# Name of the executable.
+as_me=`$as_basename "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
+ X"$0" : 'X\(/\)$' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+ /^X\/\(\/\/\)$/{ s//\1/; q; }
+ /^X\/\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+
+# PATH needs CR, and LINENO needs CR and PATH.
# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
@@ -424,107 +83,146 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" || {
+ # Find who we are. Look in the path if we contain no path at all
+ # relative or not.
+ case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+ ;;
+ esac
+ # We did not find ourselves, most probably we were run as `sh COMMAND'
+ # in which case we are not to be found in the path.
+ if test "x$as_myself" = x; then
+ as_myself=$0
+ fi
+ if test ! -f "$as_myself"; then
+ { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
+ { (exit 1); exit 1; }; }
+ fi
+ case $CONFIG_SHELL in
+ '')
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for as_base in sh bash ksh sh5; do
+ case $as_dir in
+ /*)
+ if ("$as_dir/$as_base" -c '
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
+ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+ CONFIG_SHELL=$as_dir/$as_base
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+ fi;;
+ esac
+ done
+done
+;;
+ esac
- as_lineno_1=$LINENO as_lineno_1a=$LINENO
- as_lineno_2=$LINENO as_lineno_2a=$LINENO
- eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
- test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
- # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line before each line; the second 'sed' does the real
+ # work. The second script uses 'N' to pair each line-number line
+ # with the numbered line, and appends trailing '-' during
+ # substitution so that $LINENO is not a special case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
+ sed '=' <$as_myself |
sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ s,$,-,
+ : loop
+ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
t loop
- s/-\n.*//
+ s,-$,,
+ s,^['$as_cr_digits']*\n,,
' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+ chmod +x $as_me.lineno ||
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
+ # original and so on. Autoconf is especially sensible to this).
+ . ./$as_me.lineno
# Exit status is that of the last command.
exit
}
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+ *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T=' ' ;;
+ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+ *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
esac
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
+ as_expr=false
fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
else
as_ln_s='cp -p'
fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
+rm -f conf$$ conf$$.exe conf$$.file
if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
+ as_mkdir_p=:
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
+as_executable_p="test -f"
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -533,25 +231,38 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
# so uname gets run too.
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+exec 6>&1
+
#
# Initializations.
#
ac_default_prefix=/usr/local
-ac_clean_files=
ac_config_libobj_dir=.
-LIBOBJS=
cross_compiling=no
subdirs=
MFLAGS=
MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Maximum number of lines to put in a shell here document.
+# This variable seems obsolete. It should probably be removed, and
+# only ac_max_sed_lines should be used.
+: ${ac_max_here_lines=38}
# Identity of this package.
PACKAGE_NAME=
@@ -559,88 +270,14 @@ PACKAGE_TARNAME=
PACKAGE_VERSION=
PACKAGE_STRING=
PACKAGE_BUGREPORT=
-PACKAGE_URL=
ac_unique_file="cygwin-api.in.sgml"
-ac_subst_vars='LTLIBOBJS
-LIBOBJS
-build_exeext
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC ac_ct_CC CFLAGS LDFLAGS CPPFLAGS EXEEXT OBJEXT build_exeext LIBOBJS LTLIBOBJS'
ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-'
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS'
-
# Initialize some variables set by options.
ac_init_help=
ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
# The variables have the same names as the options, with
# dashes changed to underlines.
cache_file=/dev/null
@@ -663,49 +300,34 @@ x_libraries=NONE
# and all the variables that are supposed to be based on exec_prefix
# by default will actually change.
# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
+datadir='${prefix}/share'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
includedir='${prefix}/include'
oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
ac_prev=
-ac_dashdash=
for ac_option
do
# If the previous option needs an argument, assign it.
if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
+ eval "$ac_prev=\$ac_option"
ac_prev=
continue
fi
- case $ac_option in
- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *=) ac_optarg= ;;
- *) ac_optarg=yes ;;
- esac
+ ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
# Accept the important Cygnus configure options, so we can diagnose typos.
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
+ case $ac_option in
-bindir | --bindir | --bindi | --bind | --bin | --bi)
ac_prev=bindir ;;
@@ -727,59 +349,33 @@ do
--config-cache | -C)
cache_file=config.cache ;;
- -datadir | --datadir | --datadi | --datad)
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
datadir=$ac_optarg ;;
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
-disable-* | --disable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+ eval "enable_$ac_feature=no" ;;
-enable-* | --enable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+ case $ac_option in
+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) ac_optarg=yes ;;
esac
- eval enable_$ac_useropt=\$ac_optarg ;;
+ eval "enable_$ac_feature='$ac_optarg'" ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
@@ -806,12 +402,6 @@ do
-host=* | --host=* | --hos=* | --ho=*)
host_alias=$ac_optarg ;;
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
-includedir | --includedir | --includedi | --included | --include \
| --includ | --inclu | --incl | --inc)
ac_prev=includedir ;;
@@ -836,16 +426,13 @@ do
| --libexe=* | --libex=* | --libe=*)
libexecdir=$ac_optarg ;;
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
-localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
ac_prev=localstatedir ;;
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
localstatedir=$ac_optarg ;;
-mandir | --mandir | --mandi | --mand | --man | --ma | --m)
@@ -910,16 +497,6 @@ do
| --progr-tra=* | --program-tr=* | --program-t=*)
program_transform_name=$ac_optarg ;;
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
@@ -970,36 +547,26 @@ do
ac_init_version=: ;;
-with-* | --with-*)
- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case $ac_option in
+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) ac_optarg=yes ;;
esac
- eval with_$ac_useropt=\$ac_optarg ;;
+ eval "with_$ac_package='$ac_optarg'" ;;
-without-* | --without-*)
- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=no ;;
+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package | sed 's/-/_/g'`
+ eval "with_$ac_package=no" ;;
--x)
# Obsolete; use --with-x.
@@ -1019,26 +586,27 @@ do
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries=$ac_optarg ;;
- -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
+ -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; }
;;
*=*)
ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
# Reject names that are not valid shell variable names.
- case $ac_envvar in #(
- '' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
- esac
- eval $ac_envvar=\$ac_optarg
+ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { (exit 1); exit 1; }; }
+ ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
+ eval "$ac_envvar='$ac_optarg'"
export $ac_envvar ;;
*)
# FIXME: should be removed in autoconf 3.0.
- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ echo "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
+ echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
;;
esac
@@ -1046,36 +614,31 @@ done
if test -n "$ac_prev"; then
ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
- case $enable_option_checking in
- no) ;;
- fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
- *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
- esac
+ { echo "$as_me: error: missing argument to $ac_option" >&2
+ { (exit 1); exit 1; }; }
fi
-# Check all directory arguments for consistency.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
+# Be sure to have absolute paths.
+for ac_var in exec_prefix prefix
do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
+ eval ac_val=$`echo $ac_var`
case $ac_val in
- */ )
- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- eval $ac_var=\$ac_val;;
+ [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
+ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; };;
esac
- # Be sure to have absolute directory names.
+done
+
+# Be sure to have absolute paths.
+for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
+ localstatedir libdir includedir oldincludedir infodir mandir
+do
+ eval ac_val=$`echo $ac_var`
case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ [\\/$]* | ?:[\\/]* ) ;;
+ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; };;
esac
- as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
done
# There might be people who depend on the old broken behavior: `$host'
@@ -1089,8 +652,8 @@ target=$target_alias
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
- $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used" >&2
+ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used." >&2
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
fi
@@ -1102,72 +665,70 @@ test -n "$host_alias" && ac_tool_prefix=$host_alias-
test "$silent" = yes && exec 6>/dev/null
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error $? "pwd does not report name of working directory"
-
-
# 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 the parent directory.
- ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_myself" : 'X\(//\)[^/]' \| \
- X"$as_myself" : 'X\(//\)$' \| \
- X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
+ # Try the directory containing this script, then its parent.
+ ac_confdir=`(dirname "$0") 2>/dev/null ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$0" : 'X\(//\)[^/]' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$0" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
+ if test ! -r $srcdir/$ac_unique_file; then
srcdir=..
fi
else
ac_srcdir_defaulted=no
fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+ { (exit 1); exit 1; }; }
+ else
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+ { (exit 1); exit 1; }; }
+ fi
+fi
+(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
+ { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+ { (exit 1); exit 1; }; }
+srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
+ac_env_build_alias_set=${build_alias+set}
+ac_env_build_alias_value=$build_alias
+ac_cv_env_build_alias_set=${build_alias+set}
+ac_cv_env_build_alias_value=$build_alias
+ac_env_host_alias_set=${host_alias+set}
+ac_env_host_alias_value=$host_alias
+ac_cv_env_host_alias_set=${host_alias+set}
+ac_cv_env_host_alias_value=$host_alias
+ac_env_target_alias_set=${target_alias+set}
+ac_env_target_alias_value=$target_alias
+ac_cv_env_target_alias_set=${target_alias+set}
+ac_cv_env_target_alias_value=$target_alias
+ac_env_CC_set=${CC+set}
+ac_env_CC_value=$CC
+ac_cv_env_CC_set=${CC+set}
+ac_cv_env_CC_value=$CC
+ac_env_CFLAGS_set=${CFLAGS+set}
+ac_env_CFLAGS_value=$CFLAGS
+ac_cv_env_CFLAGS_set=${CFLAGS+set}
+ac_cv_env_CFLAGS_value=$CFLAGS
+ac_env_LDFLAGS_set=${LDFLAGS+set}
+ac_env_LDFLAGS_value=$LDFLAGS
+ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
+ac_cv_env_LDFLAGS_value=$LDFLAGS
+ac_env_CPPFLAGS_set=${CPPFLAGS+set}
+ac_env_CPPFLAGS_value=$CPPFLAGS
+ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
+ac_cv_env_CPPFLAGS_value=$CPPFLAGS
#
# Report the --help message.
@@ -1190,17 +751,20 @@ Configuration:
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking ...' messages
+ -q, --quiet, --silent do not print \`checking...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for \`--cache-file=config.cache'
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or \`..']
+_ACEOF
+
+ cat <<_ACEOF
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
+ [$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
+ [PREFIX]
By default, \`make install' will install all the files in
\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
@@ -1210,25 +774,18 @@ for instance \`--prefix=\$HOME'.
For better control, use the options below.
Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --infodir=DIR info documentation [PREFIX/info]
+ --mandir=DIR man documentation [PREFIX/man]
_ACEOF
cat <<\_ACEOF
@@ -1249,138 +806,125 @@ Some influential environment variables:
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
- LIBS libraries to pass to the linker, e.g. -l<library>
- CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
- you have headers in a nonstandard directory <include dir>
+ CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
+ headers in a nonstandard directory <include dir>
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
-Report bugs to the package provider.
_ACEOF
-ac_status=$?
fi
if test "$ac_init_help" = "recursive"; then
# If there are subdirs, report their specific --help.
+ ac_popdir=`pwd`
for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" ||
- { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
- continue
+ test -d $ac_dir || continue
ac_builddir=.
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
+if test "$ac_dir" != .; then
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+ ac_dir_suffix= ac_top_builddir=
+fi
case $srcdir in
- .) # We are building in place.
+ .) # No --srcdir option. We are building in place.
ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
+ if test -z "$ac_top_builddir"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* ) # Absolute path.
ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+ case "$ac_dir" in
+ .) ac_abs_builddir=`pwd`;;
+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+ *) ac_abs_builddir=`pwd`/"$ac_dir";;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+ case ${ac_top_builddir}. in
+ .) ac_abs_top_builddir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+ case $ac_srcdir in
+ .) ac_abs_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+ case $ac_top_srcdir in
+ .) ac_abs_top_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+ esac;;
esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
+
+ cd $ac_dir
+ # Check for guested configure; otherwise get Cygnus style configure.
+ if test -f $ac_srcdir/configure.gnu; then
+ echo
+ $SHELL $ac_srcdir/configure.gnu --help=recursive
+ elif test -f $ac_srcdir/configure; then
+ echo
+ $SHELL $ac_srcdir/configure --help=recursive
+ elif test -f $ac_srcdir/configure.ac ||
+ test -f $ac_srcdir/configure.in; then
+ echo
+ $ac_configure --help
else
- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
+ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi
+ cd "$ac_popdir"
done
fi
-test -n "$ac_init_help" && exit $ac_status
+test -n "$ac_init_help" && exit 0
if $ac_init_version; then
cat <<\_ACEOF
-configure
-generated by GNU Autoconf 2.68
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2003 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
- exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
+ exit 0
fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-cat >config.log <<_ACEOF
+exec 5>config.log
+cat >&5 <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by $as_me, which was
-generated by GNU Autoconf 2.68. Invocation command line was
+generated by GNU Autoconf 2.59. Invocation command line was
$ $0 $@
_ACEOF
-exec 5>>config.log
{
cat <<_ASUNAME
## --------- ##
@@ -1399,7 +943,7 @@ uname -v = `(uname -v) 2>/dev/null || echo unknown`
/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
+hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
@@ -1411,9 +955,8 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- $as_echo "PATH: $as_dir"
- done
-IFS=$as_save_IFS
+ echo "PATH: $as_dir"
+done
} >&5
@@ -1435,6 +978,7 @@ _ACEOF
ac_configure_args=
ac_configure_args0=
ac_configure_args1=
+ac_sep=
ac_must_keep_next=false
for ac_pass in 1 2
do
@@ -1445,13 +989,13 @@ do
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
continue ;;
- *\'*)
- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
case $ac_pass in
- 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
2)
- as_fn_append ac_configure_args1 " '$ac_arg'"
+ ac_configure_args1="$ac_configure_args1 '$ac_arg'"
if test $ac_must_keep_next = true; then
ac_must_keep_next=false # Got value, back to normal.
else
@@ -1467,115 +1011,104 @@ do
-* ) ac_must_keep_next=true ;;
esac
fi
- as_fn_append ac_configure_args " '$ac_arg'"
+ ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
+ # Get rid of the leading space.
+ ac_sep=" "
;;
esac
done
done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
# When interrupted or exit'd, cleanup temporary files, and complete
# config.log. We remove comments because anyway the quotes in there
# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+# WARNING: Be sure not to use single quotes in there, as some shells,
+# such as our DU 5.0 friend, will then `close' the trap.
trap 'exit_status=$?
# Save into config.log some information that might help in debugging.
{
echo
- $as_echo "## ---------------- ##
+ cat <<\_ASBOX
+## ---------------- ##
## Cache variables. ##
-## ---------------- ##"
+## ---------------- ##
+_ASBOX
echo
# The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
+{
(set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
+ case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
+ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
+ ;;
*)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
;;
- esac |
- sort
-)
+ esac;
+}
echo
- $as_echo "## ----------------- ##
+ cat <<\_ASBOX
+## ----------------- ##
## Output variables. ##
-## ----------------- ##"
+## ----------------- ##
+_ASBOX
echo
for ac_var in $ac_subst_vars
do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
+ eval ac_val=$`echo $ac_var`
+ echo "$ac_var='"'"'$ac_val'"'"'"
done | sort
echo
if test -n "$ac_subst_files"; then
- $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
+ cat <<\_ASBOX
+## ------------- ##
+## Output files. ##
+## ------------- ##
+_ASBOX
echo
for ac_var in $ac_subst_files
do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
+ eval ac_val=$`echo $ac_var`
+ echo "$ac_var='"'"'$ac_val'"'"'"
done | sort
echo
fi
if test -s confdefs.h; then
- $as_echo "## ----------- ##
+ cat <<\_ASBOX
+## ----------- ##
## confdefs.h. ##
-## ----------- ##"
+## ----------- ##
+_ASBOX
echo
- cat confdefs.h
+ sed "/^$/d" confdefs.h | sort
echo
fi
test "$ac_signal" != 0 &&
- $as_echo "$as_me: caught signal $ac_signal"
- $as_echo "$as_me: exit $exit_status"
+ echo "$as_me: caught signal $ac_signal"
+ echo "$as_me: exit $exit_status"
} >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+ rm -f core *.core &&
+ rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
exit $exit_status
-' 0
+ ' 0
for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
+ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
done
ac_signal=0
# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo >confdefs.h
# Predefined preprocessor variables.
@@ -1583,137 +1116,112 @@ cat >>confdefs.h <<_ACEOF
#define PACKAGE_NAME "$PACKAGE_NAME"
_ACEOF
+
cat >>confdefs.h <<_ACEOF
#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
_ACEOF
+
cat >>confdefs.h <<_ACEOF
#define PACKAGE_VERSION "$PACKAGE_VERSION"
_ACEOF
+
cat >>confdefs.h <<_ACEOF
#define PACKAGE_STRING "$PACKAGE_STRING"
_ACEOF
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
_ACEOF
# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
- # We do not want a PATH search for config.site.
- case $CONFIG_SITE in #((
- -*) ac_site_file1=./$CONFIG_SITE;;
- */*) ac_site_file1=$CONFIG_SITE;;
- *) ac_site_file1=./$CONFIG_SITE;;
- esac
-elif test "x$prefix" != xNONE; then
- ac_site_file1=$prefix/share/config.site
- ac_site_file2=$prefix/etc/config.site
-else
- ac_site_file1=$ac_default_prefix/share/config.site
- ac_site_file2=$ac_default_prefix/etc/config.site
+# 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 "$ac_site_file1" "$ac_site_file2"
-do
- test "x$ac_site_file" = xNONE && continue
- if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file" \
- || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5 ; }
+ . "$ac_site_file"
fi
done
if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special files
- # actually), so we avoid doing that. DJGPP emulates it as a regular file.
- if test /dev/null != "$cache_file" && test -f "$cache_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
+ # Some versions of bash will fail to source /dev/null (special
+ # files actually), so we avoid doing that.
+ if test -f "$cache_file"; then
+ { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
+ [\\/]* | ?:[\\/]* ) . $cache_file;;
+ *) . ./$cache_file;;
esac
fi
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
+ { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
>$cache_file
fi
# Check that the precious variables saved in the cache have kept the same
# value.
ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
+for ac_var in `(set) 2>&1 |
+ sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
eval ac_old_set=\$ac_cv_env_${ac_var}_set
eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
+ eval ac_old_val="\$ac_cv_env_${ac_var}_value"
+ eval ac_new_val="\$ac_env_${ac_var}_value"
case $ac_old_set,$ac_new_set in
set,)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
ac_cache_corrupted=: ;;
,set)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
ac_cache_corrupted=: ;;
,);;
*)
if test "x$ac_old_val" != "x$ac_new_val"; then
- # differences in whitespace do not lead to failure.
- ac_old_val_w=`echo x $ac_old_val`
- ac_new_val_w=`echo x $ac_new_val`
- if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- ac_cache_corrupted=:
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
- eval $ac_var=\$ac_old_val
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
-$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
-$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
+ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
+echo "$as_me: former value: $ac_old_val" >&2;}
+ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
+echo "$as_me: current value: $ac_new_val" >&2;}
+ ac_cache_corrupted=:
fi;;
esac
# Pass precious variables to config.status.
if test "$ac_new_set" = set; then
case $ac_new_val in
- *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+ ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
*) ac_arg=$ac_var=$ac_new_val ;;
esac
case " $ac_configure_args " in
*" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
esac
fi
done
if $ac_cache_corrupted; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+ { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { (exit 1); exit 1; }; }
fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@@ -1722,138 +1230,123 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
ac_aux_dir=
-for ac_dir in ../.. "$srcdir"/../..; do
- if test -f "$ac_dir/install-sh"; then
+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
+ elif 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/shtool"; then
+ elif test -f $ac_dir/shtool; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/shtool install -c"
break
fi
done
if test -z "$ac_aux_dir"; then
- as_fn_error $? "cannot find install-sh, install.sh, or shtool in ../.. \"$srcdir\"/../.." "$LINENO" 5
+ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in ../.. $srcdir/../.." >&5
+echo "$as_me: error: cannot find install-sh or install.sh in ../.. $srcdir/../.." >&2;}
+ { (exit 1); exit 1; }; }
fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"
+ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
- as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;;
-esac
+$ac_config_sub sun4 >/dev/null 2>&1 ||
+ { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
+echo "$as_me: error: cannot run $ac_config_sub" >&2;}
+ { (exit 1); exit 1; }; }
+
+echo "$as_me:$LINENO: checking build system type" >&5
+echo $ECHO_N "checking build system type... $ECHO_C" >&6
+if test "${ac_cv_build+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_cv_build_alias=$build_alias
+test -z "$ac_cv_build_alias" &&
+ ac_cv_build_alias=`$ac_config_guess`
+test -z "$ac_cv_build_alias" &&
+ { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+ { (exit 1); exit 1; }; }
+ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
+ { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
+echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+echo "${ECHO_T}$ac_cv_build" >&6
build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$host_alias" = x; then
- ac_cv_host=$ac_cv_build
+build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+
+echo "$as_me:$LINENO: checking host system type" >&5
+echo $ECHO_N "checking host system type... $ECHO_C" >&6
+if test "${ac_cv_host+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
- ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
+ ac_cv_host_alias=$host_alias
+test -z "$ac_cv_host_alias" &&
+ ac_cv_host_alias=$ac_cv_build_alias
+ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
+ { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
+echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;;
-esac
+echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+echo "${ECHO_T}$ac_cv_host" >&6
host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$target_alias" = x; then
- ac_cv_target=$ac_cv_host
+host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+
+echo "$as_me:$LINENO: checking target system type" >&5
+echo $ECHO_N "checking target system type... $ECHO_C" >&6
+if test "${ac_cv_target+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
- ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
+ ac_cv_target_alias=$target_alias
+test "x$ac_cv_target_alias" = "x" &&
+ ac_cv_target_alias=$ac_cv_host_alias
+ac_cv_target=`$ac_config_sub $ac_cv_target_alias` ||
+ { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_target_alias failed" >&5
+echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5 ;;
-esac
+echo "$as_me:$LINENO: result: $ac_cv_target" >&5
+echo "${ECHO_T}$ac_cv_target" >&6
target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
+target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
# The aliases save the names the user supplied, while $host etc.
@@ -1863,14 +1356,13 @@ test -n "$target_alias" &&
NONENONEs,x,x, &&
program_prefix=${target_alias}-
-
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -1880,37 +1372,35 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
- done
-IFS=$as_save_IFS
+done
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+ echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
-
fi
if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
@@ -1920,38 +1410,28 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
- done
-IFS=$as_save_IFS
+done
+ test -z "$ac_cv_prog_ac_ct_CC" && ac_cv_prog_ac_ct_CC="gcc"
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
+ echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
- if test "x$ac_ct_CC" = x; then
- CC="gcc"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
+ CC=$ac_ct_CC
else
CC="$ac_cv_prog_CC"
fi
@@ -1965,10 +1445,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -1978,37 +1458,35 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
- done
-IFS=$as_save_IFS
+done
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+ echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
-
fi
if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
@@ -2018,50 +1496,39 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
- done
-IFS=$as_save_IFS
+done
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
+ echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
+ CC=$ac_ct_CC
else
CC="$ac_cv_prog_CC"
fi
if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2071,37 +1538,77 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
- done
-IFS=$as_save_IFS
+done
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+ echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
-
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="cc"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
fi
+done
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ CC=$ac_ct_CC
+else
+ CC="$ac_cv_prog_CC"
+fi
+
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
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2112,19 +1619,18 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
fi
ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
- done
-IFS=$as_save_IFS
+done
if test $ac_prog_rejected = yes; then
# We found a bogon in the path, so make sure we never use it.
@@ -2142,25 +1648,24 @@ fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+ echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
-
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
+ for ac_prog in cl
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2170,41 +1675,39 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
- done
-IFS=$as_save_IFS
+done
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+ echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
-
test -n "$CC" && break
done
fi
if test -z "$CC"; then
ac_ct_CC=$CC
- for ac_prog in cl.exe
+ for ac_prog in cl
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
@@ -2214,78 +1717,66 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
- done
-IFS=$as_save_IFS
+done
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
+ echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
-
test -n "$ac_ct_CC" && break
done
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
+ CC=$ac_ct_CC
fi
fi
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5 ; }
+test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&5
+echo "$as_me: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+echo "$as_me:$LINENO:" \
+ "checking for C compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
+ (eval $ac_compiler --version </dev/null >&5) 2>&5
ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
+ (eval $ac_compiler -v </dev/null >&5) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
+ (eval $ac_compiler -V </dev/null >&5) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
@@ -2297,108 +1788,112 @@ main ()
}
_ACEOF
ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+ac_clean_files="$ac_clean_files a.out a.exe b.out"
# Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition
# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link_default") 2>&5
+echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6
+ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
+ (eval $ac_link_default) 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Find the output, starting from the most likely. This scheme is
+# not robust to junk in `.', hence go to wildcards (a.*) only as a last
+# resort.
+
+# Be careful to initialize this variable, since it used to be cached.
+# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
+ac_cv_exeext=
+# b.out is created by i960 compilers.
+for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
do
test -f "$ac_file" || continue
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
+ ;;
+ conftest.$ac_ext )
+ # This is the source file.
;;
[ab].out )
# We found the default executable, but exeext='' is most
# certainly right.
break;;
*.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ # FIXME: I believe we export ac_cv_exeext for Libtool,
+ # but it would be cool to find out if it's true. Does anybody
+ # maintain Libtool? --akim.
+ export ac_cv_exeext
break;;
* )
break;;
esac
done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
else
- ac_file=''
-fi
-if test -z "$ac_file"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
+ echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5 ; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
+See \`config.log' for more details." >&5
+echo "$as_me: error: C compiler cannot create executables
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
+
ac_exeext=$ac_cv_exeext
+echo "$as_me:$LINENO: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+# Check the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+# If not cross compiling, check that we can run a simple program.
+if test "$cross_compiling" != yes; then
+ if { ac_try='./$ac_file'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ fi
+fi
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+
+rm -f a.out a.exe conftest$ac_cv_exeext b.out
ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
+# Check the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
+echo "$as_me:$LINENO: result: $cross_compiling" >&5
+echo "${ECHO_T}$cross_compiling" >&6
+
+echo "$as_me:$LINENO: checking for suffix of executables" >&5
+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
# If both `conftest.exe' and `conftest' are `present' (well, observable)
# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
# work properly (i.e., refer to `conftest.exe'), while it won't with
@@ -2406,90 +1901,38 @@ $as_echo "$ac_try_echo"; } >&5
for ac_file in conftest.exe conftest conftest.*; do
test -f "$ac_file" || continue
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
*.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ export ac_cv_exeext
break;;
* ) break;;
esac
done
else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5 ; }
+ { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
+
+rm -f conftest$ac_cv_exeext
+echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+echo "${ECHO_T}$ac_cv_exeext" >&6
rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
- { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if { ac_try='./conftest$ac_cv_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5 ; }
- fi
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
- $as_echo_n "(cached) " >&6
+echo "$as_me:$LINENO: checking for suffix of object files" >&5
+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
+if test "${ac_cv_objext+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
@@ -2501,46 +1944,45 @@ main ()
}
_ACEOF
rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>&5
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- for ac_file in conftest.o conftest.obj conftest.*; do
- test -f "$ac_file" || continue;
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
*) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
break;;
esac
done
else
- $as_echo "$as_me: failed program was:" >&5
+ echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5 ; }
+{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
fi
+
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
+echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+echo "${ECHO_T}$ac_cv_objext" >&6
OBJEXT=$ac_cv_objext
ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
+echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+if test "${ac_cv_c_compiler_gnu+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
@@ -2554,49 +1996,54 @@ main ()
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
ac_compiler_gnu=yes
else
- ac_compiler_gnu=no
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_compiler_gnu=no
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
- GCC=yes
-else
- GCC=
-fi
+echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+GCC=`test $ac_compiler_gnu = yes && echo yes`
ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
+CFLAGS="-g"
+echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+if test "${ac_cv_prog_cc_g+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-else
- CFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
@@ -2607,34 +2054,38 @@ main ()
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_prog_cc_g=yes
else
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
+ac_cv_prog_cc_g=no
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
+echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
if test "$ac_test_CFLAGS" = set; then
CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
@@ -2650,14 +2101,18 @@ else
CFLAGS=
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
- $as_echo_n "(cached) " >&6
+echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
+echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
+if test "${ac_cv_prog_cc_stdc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
- ac_cv_prog_cc_c89=no
+ ac_cv_prog_cc_stdc=no
ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <stdarg.h>
#include <stdio.h>
@@ -2685,17 +2140,12 @@ static char *f (char * (*g) (char **, int), char **p, ...)
/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
function prototypes and stuff, but not '\xHH' hex character constants.
These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
+ as 'x'. The following induces an error, until -std1 is added to get
proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
+ that's true only with -std1. */
int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
int test (int i, double x);
struct s1 {int (*f) (int a);};
struct s2 {int (*f) (double a);};
@@ -2710,50 +2160,215 @@ return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
return 0;
}
_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+# Don't try gcc -ansi; that turns off useful extensions and
+# breaks some systems' header files.
+# AIX -qlanglvl=ansi
+# Ultrix and OSF/1 -std1
+# HP-UX 10.20 and later -Ae
+# HP-UX older versions -Aa -D_HPUX_SOURCE
+# SVR4 -Xc -D__EXTENSIONS__
+for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
do
CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_c89=$ac_arg
+ rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_prog_cc_stdc=$ac_arg
+break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
+rm -f conftest.err conftest.$ac_objext
done
-rm -f conftest.$ac_ext
+rm -f conftest.$ac_ext conftest.$ac_objext
CC=$ac_save_CC
fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
+
+case "x$ac_cv_prog_cc_stdc" in
+ x|xno)
+ echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6 ;;
*)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
+ CC="$CC $ac_cv_prog_cc_stdc" ;;
esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
+# Some people use a C++ compiler to compile C. Since we use `exit',
+# in C++ we need to declare it. In case someone uses the same compiler
+# for both compiling C and C++ we need to have the C++ compiler decide
+# the declaration of exit, since it's the most demanding environment.
+cat >conftest.$ac_ext <<_ACEOF
+#ifndef __cplusplus
+ choke me
+#endif
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ for ac_declaration in \
+ '' \
+ 'extern "C" void std::exit (int) throw (); using std::exit;' \
+ 'extern "C" void std::exit (int); using std::exit;' \
+ 'extern "C" void exit (int) throw ();' \
+ 'extern "C" void exit (int);' \
+ 'void exit (int);'
+do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_declaration
+#include <stdlib.h>
+int
+main ()
+{
+exit (42);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+continue
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_declaration
+int
+main ()
+{
+exit (42);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+rm -f conftest*
+if test -n "$ac_declaration"; then
+ echo '#ifdef __cplusplus' >>confdefs.h
+ echo $ac_declaration >>confdefs.h
+ echo '#endif' >>confdefs.h
fi
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-test -z "$CC" && as_fn_error $? "no acceptable cc found in \$PATH" "$LINENO" 5
+test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable cc found in \$PATH" >&5
+echo "$as_me: error: no acceptable cc found in \$PATH" >&2;}
+ { (exit 1); exit 1; }; }
-ac_config_files="$ac_config_files Makefile"
-
+ ac_config_files="$ac_config_files Makefile"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
@@ -2772,70 +2387,39 @@ _ACEOF
# The following way of writing the cache mishandles newlines in values,
# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
+# 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.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
-
+{
(set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes: double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \.
+ 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 \
"s/'/'\\\\''/g;
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
+ ;;
*)
# `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
;;
- esac |
- sort
-) |
+ esac;
+} |
sed '
- /^ac_cv_env_/b end
t clear
- :clear
+ : clear
s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- if test "x$cache_file" != "x/dev/null"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
- if test ! -f "$cache_file" || test -h "$cache_file"; then
- cat confcache >"$cache_file"
- else
- case $cache_file in #(
- */* | ?:*)
- mv -f confcache "$cache_file"$$ &&
- mv -f "$cache_file"$$ "$cache_file" ;; #(
- *)
- mv -f confcache "$cache_file" ;;
- esac
- fi
- fi
+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ : end' >>confcache
+if diff $cache_file confcache >/dev/null 2>&1; then :; else
+ if test -w $cache_file; then
+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ cat confcache >$cache_file
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ echo "not updating unwritable cache $cache_file"
fi
fi
rm -f confcache
@@ -2844,55 +2428,63 @@ test "x$prefix" = xNONE && prefix=$ac_default_prefix
# Let make expand exec_prefix.
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ ]*$//;
+}'
+fi
+
# Transform confdefs.h into DEFS.
# Protect against shell expansion while executing Makefile rules.
# Protect against Makefile macro expansion.
#
# If the first sed substitution is executed (which looks for macros that
-# take arguments), then branch to the quote section. Otherwise,
+# take arguments), then we branch to the quote section. Otherwise,
# look for a macro that doesn't take arguments.
-ac_script='
-:mline
-/\\$/{
- N
- s,\\\n,,
- b mline
-}
+cat >confdef2opt.sed <<\_ACEOF
t clear
-:clear
-s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g
t quote
-s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g
t quote
-b any
-:quote
-s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g
-s/\[/\\&/g
-s/\]/\\&/g
-s/\$/$$/g
-H
-:any
-${
- g
- s/^\n//
- s/\n/ /g
- p
-}
-'
-DEFS=`sed -n "$ac_script" confdefs.h`
+d
+: quote
+s,[ `~#$^&*(){}\\|;'"<>?],\\&,g
+s,\[,\\&,g
+s,\],\\&,g
+s,\$,$$,g
+p
+_ACEOF
+# We use echo to avoid assuming a particular line-breaking character.
+# The extra dot is to prevent the shell from consuming trailing
+# line-breaks from the sub-command output. A line-break within
+# single-quotes doesn't work because, if this script is created in a
+# platform that uses two characters for line-breaks (e.g., DOS), tr
+# would break.
+ac_LF_and_DOT=`echo; echo .`
+DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
+rm -f confdef2opt.sed
ac_libobjs=
ac_ltlibobjs=
-U=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
+ ac_i=`echo "$ac_i" |
+ sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
+ # 2. Add them.
+ ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
+ ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
done
LIBOBJS=$ac_libobjs
@@ -2900,14 +2492,12 @@ LTLIBOBJS=$ac_ltlibobjs
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
+: ${CONFIG_STATUS=./config.status}
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
#! $SHELL
# Generated by $as_me.
# Run this file to recreate the current configuration.
@@ -2917,253 +2507,81 @@ cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
debug=false
ac_cs_recheck=false
ac_cs_silent=false
-
SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
fi
+DUALCASE=1; export DUALCASE # for MKS sh
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
+ as_unset=false
fi
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
PS1='$ '
PS2='> '
PS4='+ '
# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ $as_unset $as_var
fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
+done
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
as_expr=expr
else
as_expr=false
fi
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
fi
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-as_me=`$as_basename -- "$0" ||
+# Name of the executable.
+as_me=`$as_basename "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
+ X"$0" : 'X\(/\)$' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+ /^X\/\(\/\/\)$/{ s//\1/; q; }
+ /^X\/\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+
+# PATH needs CR, and LINENO needs CR and PATH.
# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
@@ -3171,123 +2589,148 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" || {
+ # Find who we are. Look in the path if we contain no path at all
+ # relative or not.
+ case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+ ;;
+ esac
+ # We did not find ourselves, most probably we were run as `sh COMMAND'
+ # in which case we are not to be found in the path.
+ if test "x$as_myself" = x; then
+ as_myself=$0
+ fi
+ if test ! -f "$as_myself"; then
+ { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
+echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ case $CONFIG_SHELL in
+ '')
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for as_base in sh bash ksh sh5; do
+ case $as_dir in
+ /*)
+ if ("$as_dir/$as_base" -c '
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
+ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+ CONFIG_SHELL=$as_dir/$as_base
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+ fi;;
+ esac
+ done
+done
+;;
+ esac
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line before each line; the second 'sed' does the real
+ # work. The second script uses 'N' to pair each line-number line
+ # with the numbered line, and appends trailing '-' during
+ # substitution so that $LINENO is not a special case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
+ sed '=' <$as_myself |
+ sed '
+ N
+ s,$,-,
+ : loop
+ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ t loop
+ s,-$,,
+ s,^['$as_cr_digits']*\n,,
+ ' >$as_me.lineno &&
+ chmod +x $as_me.lineno ||
+ { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
+echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensible to this).
+ . ./$as_me.lineno
+ # Exit status is that of the last command.
+ exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+ *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T=' ' ;;
+ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+ *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
esac
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
+ as_expr=false
fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
else
as_ln_s='cp -p'
fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
+rm -f conf$$ conf$$.exe conf$$.file
-} # as_fn_mkdir_p
if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
+ as_mkdir_p=:
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
+as_executable_p="test -f"
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -3296,20 +2739,31 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
+
+# Open the log real soon, to keep \$[0] and so on meaningful, and to
# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
+# values after options handling. Logging --version etc. is OK.
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+} >&5
+cat >&5 <<_CSEOF
+
This file was extended by $as_me, which was
-generated by GNU Autoconf 2.68. Invocation command line was
+generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -3317,116 +2771,124 @@ generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_COMMANDS = $CONFIG_COMMANDS
$ $0 $@
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
+_CSEOF
+echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
+echo >&5
_ACEOF
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+if test -n "$ac_config_headers"; then
+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+if test -n "$ac_config_links"; then
+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
+if test -n "$ac_config_commands"; then
+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
-_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration. Unless the files
-and actions are specified as TAGs, all are instantiated by default.
+\`$as_me' instantiates files from templates according to the
+current configuration.
-Usage: $0 [OPTION]... [TAG]...
+Usage: $0 [OPTIONS] [FILE]...
-h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- --config print configuration, then exit
- -q, --quiet, --silent
- do not print progress messages
+ -V, --version print version number, then exit
+ -q, --quiet do not print progress messages
-d, --debug don't remove temporary files
--recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
Configuration files:
$config_files
-Report bugs to the package provider."
-
+Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+
+cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
config.status
-configured by $0, generated by GNU Autoconf 2.68,
- with options \\"\$ac_cs_config\\"
+configured by $0, generated by GNU Autoconf 2.59,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2003 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-test -n "\$AWK" || AWK=awk
+srcdir=$srcdir
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
ac_need_defaults=:
while test $# != 0
do
case $1 in
- --*=?*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ --*=*)
+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
ac_shift=:
;;
- --*=)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=
- ac_shift=:
- ;;
- *)
+ -*)
ac_option=$1
ac_optarg=$2
ac_shift=shift
;;
+ *) # This is not an option, so the user has probably given explicit
+ # arguments.
+ ac_option=$1
+ ac_need_defaults=false;;
esac
case $ac_option in
# Handling of the options.
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- $as_echo "$ac_cs_version"; exit ;;
- --config | --confi | --conf | --con | --co | --c )
- $as_echo "$ac_cs_config"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
+ --version | --vers* | -V )
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+ { { echo "$as_me:$LINENO: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
debug=: ;;
--file | --fil | --fi | --f )
$ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- '') as_fn_error $? "missing file argument" ;;
- esac
- as_fn_append CONFIG_FILES " '$ac_optarg'"
+ CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ $ac_shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
ac_need_defaults=false;;
- --he | --h | --help | --hel | -h )
- $as_echo "$ac_cs_usage"; exit ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil | --si | --s)
ac_cs_silent=: ;;
# This is an error.
- -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
+ -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; } ;;
- *) as_fn_append ac_config_targets " $1"
- ac_need_defaults=false ;;
+ *) ac_config_targets="$ac_config_targets $1" ;;
esac
shift
@@ -3440,44 +2902,30 @@ if $ac_cs_silent; then
fi
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>$CONFIG_STATUS <<_ACEOF
if \$ac_cs_recheck; then
- set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- shift
- \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
- CONFIG_SHELL='$SHELL'
- export CONFIG_SHELL
- exec "\$@"
+ echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+ exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
fi
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
- $as_echo "$ac_log"
-} >&5
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Handling of arguments.
+
+
+cat >>$CONFIG_STATUS <<\_ACEOF
for ac_config_target in $ac_config_targets
do
- case $ac_config_target in
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;;
+ case "$ac_config_target" in
+ # Handling of arguments.
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
esac
done
-
# If the user did not use the arguments to specify the items to instantiate,
# then the envvar interface is used. Set only those that are not.
# We use the long form for the default assignment because of an extremely
@@ -3487,414 +2935,338 @@ if $ac_need_defaults; then
fi
# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
+# simply because there is no reason to put it here, and in addition,
# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
+# Create a temporary directory, and hook for its removal unless debugging.
$debug ||
{
- tmp= ac_tmp=
- trap 'exit_status=$?
- : "${ac_tmp:=$tmp}"
- { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
- trap 'as_fn_exit 1' 1 2 13 15
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
}
+
# Create a (secure) tmp directory for tmp files.
{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -d "$tmp"
+ tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
} ||
{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
- eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\\r'
-else
- ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
+ tmp=./confstat$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
{
- echo "cat >conf$$subs.awk <<_ACEOF" &&
- echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
- echo "_ACEOF"
-} >conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- . ./conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
- ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
- if test $ac_delim_n = $ac_delim_num; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
- N
- s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
- for (key in S) S_is_set[key] = 1
- FS = ""
-
-}
-{
- line = $ 0
- nfields = split(line, field, "@")
- substed = 0
- len = length(field[1])
- for (i = 2; i < nfields; i++) {
- key = field[i]
- keylen = length(key)
- if (S_is_set[key]) {
- value = S[key]
- line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
- len += length(value) + length(field[++i])
- substed = 1
- } else
- len += 1 + keylen
- }
-
- print line
+ echo "$me: cannot create a temporary directory in ." >&2
+ { (exit 1); exit 1; }
}
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
- sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
- cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
- || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
_ACEOF
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
-h
-s///
-s/^/:/
-s/[ ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[ ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
+cat >>$CONFIG_STATUS <<_ACEOF
+#
+# CONFIG_FILES section.
+#
-eval set X " :F $CONFIG_FILES "
-shift
-for ac_tag
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+ # Protect against being on the right side of a sed subst in config.status.
+ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@DEFS@,$DEFS,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@LIBS@,$LIBS,;t t
+s,@build@,$build,;t t
+s,@build_cpu@,$build_cpu,;t t
+s,@build_vendor@,$build_vendor,;t t
+s,@build_os@,$build_os,;t t
+s,@host@,$host,;t t
+s,@host_cpu@,$host_cpu,;t t
+s,@host_vendor@,$host_vendor,;t t
+s,@host_os@,$host_os,;t t
+s,@target@,$target,;t t
+s,@target_cpu@,$target_cpu,;t t
+s,@target_vendor@,$target_vendor,;t t
+s,@target_os@,$target_os,;t t
+s,@CC@,$CC,;t t
+s,@ac_ct_CC@,$ac_ct_CC,;t t
+s,@CFLAGS@,$CFLAGS,;t t
+s,@LDFLAGS@,$LDFLAGS,;t t
+s,@CPPFLAGS@,$CPPFLAGS,;t t
+s,@EXEEXT@,$EXEEXT,;t t
+s,@OBJEXT@,$OBJEXT,;t t
+s,@build_exeext@,$build_exeext,;t t
+s,@LIBOBJS@,$LIBOBJS,;t t
+s,@LTLIBOBJS@,$LTLIBOBJS,;t t
+CEOF
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$ac_tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;;
- esac
- case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
- as_fn_append ac_file_inputs " '$ac_f'"
- done
+_ACEOF
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input='Generated from '`
- $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
- `' by configure.'
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
+ cat >>$CONFIG_STATUS <<\_ACEOF
+ # 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_lines=48
+ ac_sed_frag=1 # Number of current file.
+ ac_beg=1 # First line for current file.
+ ac_end=$ac_max_sed_lines # 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" $tmp/subs.sed >$tmp/subs.frag
+ else
+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
fi
- # Neutralize special characters interpreted by sed in replacement strings.
- case $configure_input in #(
- *\&* | *\|* | *\\* )
- ac_sed_conf_input=`$as_echo "$configure_input" |
- sed 's/[\\\\&|]/\\\\&/g'`;; #(
- *) ac_sed_conf_input=$configure_input;;
- esac
+ if test ! -s $tmp/subs.frag; then
+ ac_more_lines=false
+ else
+ # The purpose of the label and of the branching condition is to
+ # speed up the sed processing (if there are no `@' at all, there
+ # is no need to browse any of the substitutions).
+ # These are the two extra sed commands mentioned above.
+ (echo ':t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ fi
+ ac_sed_frag=`expr $ac_sed_frag + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+ done
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+ fi
+fi # test -n "$CONFIG_FILES"
- case $ac_tag in
- *:-:* | *:-) cat >"$ac_tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
- esac
- ;;
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
esac
- ac_dir=`$as_dirname -- "$ac_file" ||
+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+ ac_dir=`(dirname "$ac_file") 2>/dev/null ||
$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$ac_file" : 'X\(//\)[^/]' \| \
X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir="$ac_dir"; as_fn_mkdir_p
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ { if $as_mkdir_p; then
+ mkdir -p "$ac_dir"
+ else
+ as_dir="$ac_dir"
+ as_dirs=
+ while test ! -d "$as_dir"; do
+ as_dirs="$as_dir $as_dirs"
+ as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ done
+ test ! -n "$as_dirs" || mkdir $as_dirs
+ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+ { (exit 1); exit 1; }; }; }
+
ac_builddir=.
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
+if test "$ac_dir" != .; then
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+ ac_dir_suffix= ac_top_builddir=
+fi
case $srcdir in
- .) # We are building in place.
+ .) # No --srcdir option. We are building in place.
ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
+ if test -z "$ac_top_builddir"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* ) # Absolute path.
ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+ case "$ac_dir" in
+ .) ac_abs_builddir=`pwd`;;
+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+ *) ac_abs_builddir=`pwd`/"$ac_dir";;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+ case ${ac_top_builddir}. in
+ .) ac_abs_top_builddir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+ case $ac_srcdir in
+ .) ac_abs_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+ case $ac_top_srcdir in
+ .) ac_abs_top_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+ esac;;
esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
-_ACEOF
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ if test x"$ac_file" = x-; then
+ configure_input=
+ else
+ configure_input="$ac_file. "
+ fi
+ configure_input=$configure_input"Generated from `echo $ac_file_in |
+ sed 's,.*/,,'` by configure."
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo "$f";;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo "$f"
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo "$srcdir/$f"
+ else
+ # /dev/null tree
+ { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
+cat >>$CONFIG_STATUS <<_ACEOF
+ sed "$ac_vpsub
$extrasub
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+cat >>$CONFIG_STATUS <<\_ACEOF
:t
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
- >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
- "$ac_tmp/out"`; test -z "$ac_out"; } &&
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&2;}
-
- rm -f "$ac_tmp/stdin"
- case $ac_file in
- -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
- *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
- esac \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
-
-
-
- esac
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@abs_srcdir@,$ac_abs_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
+s,@builddir@,$ac_builddir,;t t
+s,@abs_builddir@,$ac_abs_builddir,;t t
+s,@top_builddir@,$ac_top_builddir,;t t
+s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+ mv $tmp/out $ac_file
+ else
+ cat $tmp/out
+ rm -f $tmp/out
+ fi
-done # for ac_tag
+done
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
-as_fn_exit 0
+{ (exit 0); exit 0; }
_ACEOF
+chmod +x $CONFIG_STATUS
ac_clean_files=$ac_clean_files_save
-test $ac_write_fail = 0 ||
- as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
# configure is writing to config.log, and then calls config.status.
# config.status does its own redirection, appending to config.log.
@@ -3914,10 +3286,6 @@ if test "$no_create" != yes; then
exec 5>>config.log
# Use ||, not &&, to avoid exiting from the if with $? = 1, which
# would make configure fail if this is the last instruction.
- $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+ $ac_cs_success || { (exit 1); exit 1; }
fi
diff --git a/winsup/doc/cygwinenv.sgml b/winsup/doc/cygwinenv.sgml
index 3a05e9ba3..1b9fee499 100644
--- a/winsup/doc/cygwinenv.sgml
+++ b/winsup/doc/cygwinenv.sgml
@@ -12,16 +12,6 @@ by prefixing with <literal>no</literal>.</para>
<itemizedlist mark="bullet">
<listitem>
-<para><envar>(no)detect_bloda</envar> - If set, Cygwin will try to detect
-foreign applications which try to inject threads into a Cygwin process,
-or which redirect system sockets by providing an enforced so-called
-<literal>Layered Service Provider</literal>. This may or may not help to
-detect <ulink url="http://cygwin.com/faq/faq.using.html#faq.using.bloda">
-BLODAs</ulink>. Don't use this option for day-to-day usage, it will slow
-down every thread and socket creation!</para>
-</listitem>
-
-<listitem>
<para><envar>(no)dosfilewarning</envar> - If set, Cygwin will warn the
first time a user uses an "MS-DOS" style path name rather than a POSIX-style
path name. Defaults to set.</para>
@@ -59,11 +49,6 @@ If supplied, wildcard matching is case insensitive. The default is <literal>noi
</listitem>
<listitem>
-<para><envar>(no)pipe_byte</envar> - causes Cygwin to open pipes in byte mode rather than
-message mode.</para>
-</listitem>
-
-<listitem>
<para><envar>proc_retry:n</envar> - causes <function>fork()</function> and
<function>exec*()</function> to retry n times when a child process fails
due to certain windows-specific errors. These errors usually occur when
diff --git a/winsup/doc/faq-programming.xml b/winsup/doc/faq-programming.xml
index 6e1edda65..331454735 100644
--- a/winsup/doc/faq-programming.xml
+++ b/winsup/doc/faq-programming.xml
@@ -62,9 +62,10 @@ would be difficult.
<question><para>Where is Objective C?</para></question>
<answer>
-<para>Support for compiling Objective C is available in the <literal>gcc4-objc</literal>
-package; resulting binaries will depend on the <literal>libobjc2</literal>
-package at runtime.
+<para>Objective C hasn't been distributed with the Cygwin version of gcc
+for a long time. For several reason Cygwin was stuck with gcc version 3.4.4.
+Fortunately the latest gcc maintainer is quite busy to create a working
+gcc 4.x release which also comes with an Objective C package.
</para>
</answer></qandaentry>
@@ -92,6 +93,18 @@ C:/cygwin/bin /bin ntfs binary,cygexec 0 0
C:/cygwin/bin /usr/bin ntfs binary,cygexec 0 0
</screen>
+<para>Note that if you have Tcl/Tk installed, you must additionally
+exclude <literal>tclsh84</literal> and <literal>wish84</literal>, which
+are linked to the Cygwin DLL but are not actually Cygwin programs:
+</para>
+
+<screen>
+C:/cygwin/bin/tclsh84.exe /bin/tclsh84.exe ntfs binary,notexec 0 0
+C:/cygwin/bin/tclsh84.exe /usr/bin/tclsh84.exe ntfs binary,notexec 0 0
+C:/cygwin/bin/wish84.exe /bin/wish84.exe ntfs binary,notexec 0 0
+C:/cygwin/bin/wish84.exe /usr/bin/wish84.exe ntfs binary,notexec 0 0
+</screen>
+
<para>If you have added other non-Cygwin programs to a path you want to mount
cygexec, you can find them with a script like this:
</para>
@@ -176,7 +189,7 @@ with gdi32 like this:
<para>The regular setup allows you to use the option -mwindows on the
command line to include a set of the basic libraries (and also
make your program a GUI program instead of a console program),
-including user32, gdi32 and comdlg32.
+including user32, gdi32 and, IIRC, comdlg32.
</para>
<para>It is a good idea to put import libraries last on your link line,
or at least after all the object files and static libraries that reference them.
@@ -193,10 +206,11 @@ as well as the User's Guide section
<question><para>How do I compile a Win32 executable that doesn't use Cygwin?</para></question>
<answer>
-<para>The compilers provided by the <literal>mingw-gcc</literal>,
-<literal>mingw64-i686-gcc</literal>, and <literal>mingw64-x86_64-gcc</literal>
-packages link against standard Microsoft DLLs instead of Cygwin. This is
-desirable for native Windows programs that don't need a UNIX emulation layer.
+<para><emphasis role='bold'>(Please note: This section has not yet been updated for the latest net release.)</emphasis>
+</para>
+<para>The -mno-cygwin flag to gcc makes gcc link against standard Microsoft
+DLLs instead of Cygwin. This is desirable for native Windows programs
+that don't need a UNIX emulation layer.
</para>
<para>This is not to be confused with 'MinGW' (Minimalist GNU for Windows),
which is a completely separate effort. That project's home page is
@@ -560,6 +574,8 @@ $(LD) EXPFILE --dll -o DLLNAME OBJS LIBS -e ENTRY
</para>
<para>LIBS is the list of libraries you want to link the DLL against. For
example, you may or may not want -lcygwin. You may want -lkernel32.
+Tcl links against -lcygwin -ladvapi32 -luser32 -lgdi32 -lcomdlg32
+-lkernel32.
</para>
<para>DEFFILE is the name of your definitions file. A simple DEFFILE would
consist of ``EXPORTS'' followed by a list of all symbols which should
@@ -598,8 +614,9 @@ int entry (HINSTANT hinst, DWORD reason, LPVOID reserved)
}
</screen>
-<para>You may put an optional `--subsystem windows' on the $(LD) lines.
-Note that if you specify a --subsytem &lt;x&gt; flag to ld,
+<para>You may put an optional `--subsystem windows' on the $(LD) lines. The
+Tcl build does this, but I admit that I no longer remember whether
+this is important. Note that if you specify a --subsytem &lt;x&gt; flag to ld,
the -e entry must come after the subsystem flag, since the subsystem flag
sets a different default entry point.
</para>
@@ -810,44 +827,20 @@ a Windows environment which Cygwin handles automatically.
<question><para>How should I port my Unix GUI to Windows?</para></question>
<answer>
-<para>Like other Unix-like platforms, the Cygwin distribtion includes many of
-the common GUI toolkits, including X11, X Athena widgets, Motif, Tk, GTK+,
-and Qt. Many programs which rely on these toolkits will work with little, if
-any, porting work if they are otherwise portable. However, there are a few
-things to look out for:</para>
-<orderedlist>
-<listitem><para>Some packages written for both Windows and X11 incorrectly
-treat Cygwin as a Windows platform rather than a Unix variant. Mixing Cygwin's
-Unix APIs with Windows' GDI is best avoided; rather, remove these assumptions
-so that Cygwin is treated like other X11 platforms.</para></listitem>
-<listitem><para>GTK+ programs which use <literal>gtk_builder_connect_signals()</literal>
-or <literal>glade_xml_signal_autoconnect()</literal> need to be able to
-<literal>dlopen()</literal> themselves. In order for this to work, the program
-must be linked with the <literal>-Wl,--export-all-symbols</literal> linker flag.
-This can be added to LDFLAGS manually, or handled automatically with the
-<literal>-export-dynamic</literal> libtool flag (requires libtool 2.2.8) or
-by adding <literal>gmodule-export-2.0</literal> to the pkg-config modules used
-to build the package.</para></listitem>
-<listitem><para>Programs which include their own loadable modules (plugins)
-often must have its modules linked against the symbols in the program. The
-most portable solution is for such programs to provide all its symbols (except
-for <literal>main()</literal>) in a shared library, against which the plugins
-can be linked. Otherwise, the symbols from the executable itself must be
-exported.</para>
-<para>If the package uses the CMake build system, this can be done by adding
-<literal>ENABLE_EXPORTS TRUE</literal> to the executable's <literal>set_target_properties</literal>
-command, then adding the executable's target name to the <literal>target_link_libraries</literal>
-command for the plugins.</para>
-<para>For other build systems, the following steps are required:</para>
-<orderedlist>
-<listitem><para>The executable must be built before its plugins.</para></listitem>
-<listitem><para>Symbols must be exported from the executable with a
-<literal>-Wl,--export-all-symbols,--out-implib,libfoo.exe.a</literal>
-linker flag, where <literal>foo</literal> represents the name of the
-executable.</para></listitem>
-<listitem><para>The plugins must be linked with a <literal>-Wl,/path/to/libfoo.exe.a</literal>
-linker flag.</para></listitem>
-</orderedlist></listitem></orderedlist>
+<para>There are two basic strategies for porting Unix GUIs to Windows.
+</para>
+<para>The first is to use a portable graphics library such as tcl/tk, X11, or
+V (and others?). Typically, you will end up with a GUI on Windows that
+requires some runtime support. With tcl/tk, you'll want to include the
+necessary library files and the tcl/tk DLLs. In the case of X11, you'll
+need everyone using your program to have the X11 server installed.
+</para>
+<para>The second method is to rewrite your GUI using Win32 API calls (or MFC
+with VC++). If your program is written in a fairly modular fashion, you
+may still want to use Cygwin if your program contains a lot of shared
+(non-GUI-related) code. That way you still gain some of the portability
+advantages inherent in using Cygwin.
+</para>
</answer></qandaentry>
<qandaentry id="faq.programming.djgpp">
diff --git a/winsup/doc/faq-using.xml b/winsup/doc/faq-using.xml
index c08efbc56..8086198e2 100644
--- a/winsup/doc/faq-using.xml
+++ b/winsup/doc/faq-using.xml
@@ -238,12 +238,10 @@ related messages.
</answer></qandaentry>
<qandaentry id="faq.using.man">
-<question><para>Why doesn't <literal>man -k</literal>,
-<literal>apropos</literal> or <literal>whatis</literal> work?</para></question>
+<question><para>Why doesn't man -k (or apropos) work?</para></question>
<answer>
-<para>Before you can use <literal>man -k</literal>, <literal>apropos</literal>
-or <literal>whatis</literal>, you
+<para>Before you can use <literal>man -k</literal> or <literal>apropos</literal>, you
must create the whatis database. Just run the command
</para>
<screen>
@@ -784,7 +782,7 @@ interfere with the normal functioning of Cygwin.
<para>Yes. Install the emacs package. This provides everything you
need in order to run GNU emacs in a terminal window. If you also want
to be able to use the X11
-(<ulink url="http://x.cygwin.com/">http://x.cygwin.com/</ulink>)
+(<ulink url="http://cygwin.com/xfree/">http://cygwin.com/xfree/</ulink>)
GUI, install the emacs-X11 package. In either case, you run emacs by
typing 'emacs' or '/usr/bin/emacs'.
</para>
@@ -796,7 +794,7 @@ typing 'emacs' or '/usr/bin/emacs'.
<para>Yes. It can be used in three different modes:</para>
<para><itemizedlist>
-<listitem><para>X11 (<ulink url="http://x.cygwin.com/">http://x.cygwin.com/</ulink>) GUI</para></listitem>
+<listitem><para>X11 (<ulink url="http://cygwin.com/xfree/">http://cygwin.com/xfree/</ulink>) GUI</para></listitem>
</itemizedlist></para>
<para>You have to <emphasis>set</emphasis> the DISPLAY environment variable
before starting xemacs.</para>
@@ -1062,27 +1060,16 @@ usually all set and you can start the sshd service via
</answer></qandaentry>
<qandaentry id="faq.using.tcl-tk">
-<question><para>Why do my Tk programs not work anymore?</para></question>
+<question><para>Why doesn't Cygwin tcl/tk understand Cygwin paths?</para></question>
<answer>
-<para>Previous versions of Tcl/Tk distributed with Cygwin (e.g. tclsh84.exe,
-wish84.exe) were not actually "Cygwin versions" of those tools.
-They were built as native libraries, which means they did not understand
-Cygwin mounts or symbolic links. This lead to all sorts of problems interacting
-with true Cygwin programs.</para>
-
-<para>As of February 2012, this was replaced with a version of Tcl/Tk which
-uses Cygwin's POSIX APIs and X11 for GUI functionality. If you get a message
-such as this when trying to start a Tk app:</para>
-
-<screen>
- Application initialization failed: couldn't connect to display ""
-</screen>
-
-<para>Then you need to start an X server, or if one is already running, set the
-<literal>DISPLAY</literal> variable to the proper value. The Cygwin distribution
-includes an X server; please see the <ulink url="http://x.cygwin.com/docs/ug/cygwin-x-ug.html">Cygwin/X User Guide</ulink>
-for installation and startup instructions.
+<para>The versions of Tcl/Tk distributed with Cygwin (e.g. cygtclsh80.exe,
+cygwish80.exe) are not actually "Cygwin versions" of those tools.
+They are built as native libraries, which means they do not understand
+Cygwin mounts or symbolic links.
+</para>
+<para>See the entry "How do I convert between Windows and UNIX paths?"
+elsewhere in this FAQ.
</para></answer></qandaentry>
<qandaentry id="faq.using.ipv6">
@@ -1154,7 +1141,7 @@ behaviour which affect the operation of other programs, such as Cygwin.
<listitem><para>Lenovo IPS Core Service (ipssvc)</para></listitem>
<listitem><para>Credant Guardian Shield</para></listitem>
<listitem><para>AVAST (disable FILESYSTEM and BEHAVIOR realtime shields)</para></listitem>
-<listitem><para>Citrix Metaframe Presentation Server/XenApp (see <ulink url="http://support.citrix.com/article/CTX107825">Citrix Support page</ulink>)</para></listitem>
+<listitem><para>Citrix Metaframe Presentation Server/XenApp (see <ulink url="http://support.citrix.com/article/CTX107825">Citrix Support page</ulink></para></listitem>
</itemizedlist></para>
<para>Sometimes these problems can be worked around, by temporarily or partially
disabling the offending software. For instance, it may be possible to disable
diff --git a/winsup/doc/new-features.sgml b/winsup/doc/new-features.sgml
index 1fe5afea4..d919fb3dc 100644
--- a/winsup/doc/new-features.sgml
+++ b/winsup/doc/new-features.sgml
@@ -1,98 +1,5 @@
<sect1 id="ov-new1.7"><title>What's new and what changed in Cygwin 1.7</title>
-<sect2 id="ov-new1.7.16"><title>What's new and what changed from 1.7.15 to 1.7.16</title>
-
-<itemizedlist mark="bullet">
-
-<listitem><para>
-New API: getmntent_r, memrchr.
-</para></listitem>
-
-<listitem><para>
-Recognize ReFS filesystem.
-</para></listitem>
-
-</itemizedlist>
-
-</sect2>
-
-<sect2 id="ov-new1.7.15"><title>What's new and what changed from 1.7.14 to 1.7.15</title>
-
-<itemizedlist mark="bullet">
-
-<listitem><para>
-CYGWIN=pipe_byte option now forces the opening of pipes in byte mode rather than message mode.
-</para></listitem>
-
-</itemizedlist>
-
-</sect2>
-
-<sect2 id="ov-new1.7.14"><title>What's new and what changed from 1.7.13 to 1.7.14</title>
-
-<itemizedlist mark="bullet">
-
-<listitem><para>
-Add mouse reporting modes 1005, 1006 and 1015 to console window.
-</para></listitem>
-
-</itemizedlist>
-
-</sect2>
-
-<sect2 id="ov-new1.7.13"><title>What's new and what changed from 1.7.12 to 1.7.13</title>
-
-<itemizedlist mark="bullet">
-
-<listitem><para>
-mkpasswd and mkgroup now try to print an entry for the TrustedInstaller
-account existing since Windows Vista/Server 2008.
-</para></listitem>
-
-<listitem><para>
-Terminal typeahead when switching from canonical to non-canonical mode
-is now properly flushed.
-</para></listitem>
-
-</itemizedlist>
-
-</sect2>
-
-<sect2 id="ov-new1.7.12"><title>What's new and what changed from 1.7.11 to 1.7.12</title>
-
-<itemizedlist mark="bullet">
-
-<listitem><para>
-Cygwin now automatically populates the /dev directory with all existing
-POSIX devices.
-</para></listitem>
-
-<listitem><para>
-Add virtual /proc/PID/mountinfo file.
-</para></listitem>
-
-<listitem><para>
-flock now additionally supports the following scenario, which requires
- to propagate locks to the parent process:
- <screen>
- (
- flock -n 9 || exit 1
- # ... commands executed under lock ...
- } 9>/var/lock/mylockfile
- </screen>
- Only propagation to the direct parent process is supported so far,
- not to grand parents or sibling processes.
-</para></listitem>
-
-<listitem><para>
-Add a "detect_bloda" setting for the CYGWIN environment variable to help
-finding potential BLODAs.
-</para></listitem>
-
-</itemizedlist>
-
-</sect2>
-
<sect2 id="ov-new1.7.11"><title>What's new and what changed from 1.7.10 to 1.7.11</title>
<itemizedlist mark="bullet">
diff --git a/winsup/doc/overview2.sgml b/winsup/doc/overview2.sgml
index 81e55c47e..5c1e8652f 100644
--- a/winsup/doc/overview2.sgml
+++ b/winsup/doc/overview2.sgml
@@ -35,10 +35,9 @@ the <literal>/usr/share/doc/Cygwin/</literal> directory.
<para>
Developers coming from a Windows background will be able to write
console or GUI executables that rely on the Microsoft Win32 API instead
-of Cygwin using the mingw32 or mingw64 cross-compiler toolchains. The
-<command>-shared</command> option to GCC allows to write Windows Dynamically
-Linked Libraries (DLLs). The resource compiler <command>windres</command>
-is also provided.
+of Cygwin using the -mno-cygwin option to GCC. The <command>-shared</command>
+option allows to write Windows Dynamically Linked Libraries (DLLs). The
+resource compiler <command>windres</command> is also provided.
</para>
</sect1>
@@ -388,10 +387,8 @@ BLODA</ulink>. Badly-behaved applications which
inject dlls into other processes often manage to clobber important
sections of the child's address space, leading to base address
collisions which rebasing cannot fix. The only way to resolve this
-problem is to remove (usually uninstall) the offending app. See
-<xref linkend="cygwinenv-implemented-options"></xref> for the
-<literal>detect_bloda</literal> option, which may be able to identify the
-BLODA.</listitem></itemizedlist></para>
+problem is to remove (usually uninstall) the offending
+app.</listitem></itemizedlist></para>
<para>In summary, current Windows implementations make it
impossible to implement a perfectly reliable fork, and occasional
diff --git a/winsup/doc/pathnames.sgml b/winsup/doc/pathnames.sgml
index 3a4769e9e..5506eeb36 100644
--- a/winsup/doc/pathnames.sgml
+++ b/winsup/doc/pathnames.sgml
@@ -2,12 +2,12 @@
<sect2 id="pathnames-intro"><title>Introduction</title>
-<para>Cygwin supports both POSIX- and Win32-style paths. Directory
+<para>Cygwin supports both Win32- and POSIX-style paths. Directory
delimiters may be either forward slashes or backslashes. Paths using
-backslashes or starting with a drive letter are always handled as
-Win32 paths. POSIX paths must only use forward slashes as delimiter,
-otherwise they are treated as Win32 paths and file access might fail
-in surprising ways.</para>
+backslashes are always handled as Win32 paths. POSIX paths must only
+use forward slashes as delimiter, otherwise they are treated as Win32
+paths and file access might fail in surprising ways. UNC pathnames
+(starting with two slashes and a network name) are also supported.</para>
<note><para>The usage of Win32 paths, though possible, is deprecated,
since it circumvents important internal path handling mechanisms.
@@ -269,27 +269,11 @@ old user mount points as before.
</sect2>
-<sect2 id="unc-paths"><title>UNC paths</title>
-
-<para>Apart from the unified POSIX tree starting at the <filename>/</filename>
-directory, UNC pathnames starting with two slashes and a server name
-(<filename>//machine/share/...</filename>) are supported as well.
-They are handled as POSIX paths if only containing forward slashes. There's
-also a virtual directory <filename>//</filename> which allows to enumerate
-the fileservers known to the local machine with <command>ls</command>.
-Same goes for the UNC paths of the type <filename>//machine</filename>,
-which allow to enumerate the shares provided by the server
-<literal>machine</literal>. For often used UNC paths it makes sense to
-add them to the mount table (see <xref linkend="mount-table"></xref> so
-they are included in the unified POSIX path tree.</para>
-
-</sect2>
-
<sect2 id="cygdrive"><title>The cygdrive path prefix</title>
<para>As already outlined in <xref linkend="ov-hi-files"></xref>, you can
access arbitary drives on your system by using the cygdrive path prefix.
-The default value for this prefix is <filename>/cygdrive</filename>, and
+The default value for this prefix is <literal>/cygdrive</literal>, and
a path to any drive can be constructed by using the cygdrive prefix and
appending the drive letter as subdirectory, like this:</para>
@@ -303,7 +287,7 @@ appending the drive letter as subdirectory, like this:</para>
on a system are subsumed. The mount options of the cygdrive prefix is
used for all file access through the cygdrive prefixed drives. For instance,
assuming the cygdrive mount options are <literal>binary,posix=0</literal>,
-then any file <filename>/cygdrive/x/file</filename> will be opened in
+then any file <literal>/cygdrive/x/file</literal> will be opened in
binary mode by default (mount option <literal>binary</literal>), and the case
of the filename doesn't matter (mount option <literal>posix=0</literal>).
</para>
@@ -705,25 +689,19 @@ Read on for more information.</para>
</sect2>
<sect2 id="pathnames-posixdevices"> <title>POSIX devices</title>
-<para>While there is no need to create a POSIX <filename>/dev</filename>
-directory, the directory is automatically created as part of a Cygwin
-installation. It's existence is often a prerequisit to run certain
-applications which create symbolic links, fifos, or UNIX sockets in
-<filename>/dev</filename>. Also, the directories <filename>/dev/shm</filename>
-and <filename>/dev/mqueue</filename> are required to exist to use named POSIX
-semaphores, shared memory, and message queues, so a system without a real
-<filename>/dev</filename> directory is functionally crippled.
+<para>There is no need to create a POSIX <filename>/dev</filename>
+directory as Cygwin automatically simulates it internally.
+These devices cannot be seen with the command <command>ls /dev/</command>
+although commands such as <command>ls /dev/tty</command> work fine.
+If you want to be able to see all well-known devices in
+<filename>/dev/</filename>, you can use Igor Pechtchanski's
+<ulink
+url="http://cygwin.com/ml/cygwin/2004-03/txt00028.txt">create_devices.sh</ulink>
+script. This script does not add the raw disk devices, though. Again,
+it's not necessary to see an existing device in /dev to access it. The script
+is just for the fun of it.
</para>
-<para>Apart from that, Cygwin automatically simulates POSIX devices
-internally. Up to Cygwin 1.7.11, these devices couldn't be seen with the
-command <command>ls /dev/</command> although commands such as
-<command>ls /dev/tty</command> worked fine. Starting with Cygwin 1.7.12,
-the <filename>/dev</filename> directory is automagically populated with
-existing POSIX devices by Cygwin in a way comparable with a
-<ulink url="http://en.wikipedia.org/wiki/Udev">udev</ulink> based virtual
-<filename>/dev</filename> directory under Linux.</para>
-
<para>
Cygwin supports the following character devices commonly found on POSIX systems:
</para>
diff --git a/winsup/doc/setup-net.sgml b/winsup/doc/setup-net.sgml
index 4694eb330..889f1e0fb 100644
--- a/winsup/doc/setup-net.sgml
+++ b/winsup/doc/setup-net.sgml
@@ -260,5 +260,6 @@ Problems with Cygwin</ulink>.
DOCTOOL-INSERT-setup-env
DOCTOOL-INSERT-setup-maxmem
DOCTOOL-INSERT-setup-locale
+DOCTOOL-INSERT-ntsec
DOCTOOL-INSERT-setup-files
</chapter>
diff --git a/winsup/doc/using.sgml b/winsup/doc/using.sgml
index 4a802e6c8..4678cff93 100644
--- a/winsup/doc/using.sgml
+++ b/winsup/doc/using.sgml
@@ -14,8 +14,6 @@ DOCTOOL-INSERT-using-specialnames
DOCTOOL-INSERT-using-cygwinenv
-DOCTOOL-INSERT-ntsec
-
DOCTOOL-INSERT-using-cygserver
DOCTOOL-INSERT-using-utils
diff --git a/winsup/lsaauth/ChangeLog b/winsup/lsaauth/ChangeLog
index b78696af2..bbb763a1e 100644
--- a/winsup/lsaauth/ChangeLog
+++ b/winsup/lsaauth/ChangeLog
@@ -1,11 +1,3 @@
-2012-05-29 Corinna Vinschen <corinna@vinschen.de>
-
- * Makefile.in (LIBS): Re-add advapi32.dll. Explain why.
- * make-64bit-version-with-mingw-w64.sh (LIBS): Ditto.
- * cyglsa.c: Drop NTDLL function declarations. Use equivalent advapi32
- functions again, throughout.
- * cyglsa64.dll: Regenerate.
-
2011-05-10 Corinna Vinschen <corinna@vinschen.de>
* Makefile.in: Don't override CC.
diff --git a/winsup/lsaauth/Makefile.in b/winsup/lsaauth/Makefile.in
index bb585dfda..948c08b34 100644
--- a/winsup/lsaauth/Makefile.in
+++ b/winsup/lsaauth/Makefile.in
@@ -41,11 +41,7 @@ ifdef MINGW_CC
override CC:=${MINGW_CC}
endif
-# Never again try to remove advapi32. It does not matter if the DLL calls
-# advapi32 functions or the equivalent ntdll functions.
-# But if the LSA authentication DLL is not linked against advapi32, it's
-# not recognized by LSA.
-LIBS := -ladvapi32 -lkernel32 -lntdll
+LIBS := -lkernel32 -lntdll
DLL := cyglsa.dll
DEF_FILE:= cyglsa.def
diff --git a/winsup/lsaauth/cyglsa.c b/winsup/lsaauth/cyglsa.c
index 341fdd12c..e64d0e11f 100644
--- a/winsup/lsaauth/cyglsa.c
+++ b/winsup/lsaauth/cyglsa.c
@@ -1,6 +1,6 @@
/* cyglsa.c: LSA authentication module for Cygwin
- Copyright 2006, 2008, 2010, 2011, 2012 Red Hat, Inc.
+ Copyright 2006, 2008, 2010, 2011 Red Hat, Inc.
Written by Corinna Vinschen <corinna@vinschen.de>
@@ -41,6 +41,13 @@ DllMain (HINSTANCE inst, DWORD reason, LPVOID res)
#ifndef NT_SUCCESS
#define NT_SUCCESS(s) ((s) >= 0)
#endif
+NTSTATUS NTAPI NtAllocateLocallyUniqueId (PLUID);
+NTSTATUS NTAPI RtlCopySid (ULONG, PSID, PSID);
+NTSTATUS NTAPI RtlGetAce (PACL, ULONG, PVOID *);
+ULONG NTAPI RtlLengthSid (PSID);
+PULONG NTAPI RtlSubAuthoritySid (PSID, ULONG);
+PUCHAR NTAPI RtlSubAuthorityCountSid (PSID);
+BOOLEAN NTAPI RtlValidSid (PSID);
/* These standard POSIX functions are implemented in NTDLL and exported.
There's just no header to define them and using wchar.h from mingw
or Cygwin seems wrong somehow. */
@@ -116,7 +123,7 @@ print_sid (const char *prefix, int idx, PISID sid)
cyglsa_printf ("NULL\n");
else if (IsBadReadPtr (sid, 8))
cyglsa_printf ("INVALID POINTER\n");
- else if (!IsValidSid ((PSID) sid))
+ else if (!RtlValidSid ((PSID) sid))
cyglsa_printf ("INVALID SID\n");
else if (IsBadReadPtr (sid, 8 + sizeof (DWORD) * sid->SubAuthorityCount))
cyglsa_printf ("INVALID POINTER SPACE\n");
@@ -196,9 +203,11 @@ print_dacl (PACL dacl)
{
PVOID vace;
PACCESS_ALLOWED_ACE ace;
+ NTSTATUS stat;
- if (!GetAce (dacl, i, &vace))
- cyglsa_printf ("[%lu] GetAce error %lu\n", i, GetLastError ());
+ stat = RtlGetAce (dacl, i, &vace);
+ if (!NT_SUCCESS (stat))
+ cyglsa_printf ("[%lu] RtlGetAce status 0x%08lx\n", i, stat);
else
{
ace = (PACCESS_ALLOWED_ACE) vace;
@@ -494,8 +503,8 @@ LsaApLogonUserEx (PLSA_CLIENT_REQUEST request, SECURITY_LOGON_TYPE logon_type,
tokinf->ExpirationTime = authinf->inf.ExpirationTime;
/* User SID */
src_sid = (PSID) (base + authinf->inf.User.User.Sid);
- size = GetLengthSid (src_sid);
- CopySid (size, (PSID) tptr, src_sid);
+ size = RtlLengthSid (src_sid);
+ RtlCopySid (size, (PSID) tptr, src_sid);
tokinf->User.User.Sid = (PSID) tptr;
tptr += size;
tokinf->User.User.Attributes = authinf->inf.User.User.Attributes;
@@ -509,16 +518,16 @@ LsaApLogonUserEx (PLSA_CLIENT_REQUEST request, SECURITY_LOGON_TYPE logon_type,
for (i = 0; i < src_grps->GroupCount; ++i)
{
src_sid = (PSID) (base + src_grps->Groups[i].Sid);
- size = GetLengthSid (src_sid);
- CopySid (size, (PSID) tptr, src_sid);
+ size = RtlLengthSid (src_sid);
+ RtlCopySid (size, (PSID) tptr, src_sid);
tokinf->Groups->Groups[i].Sid = (PSID) tptr;
tptr += size;
tokinf->Groups->Groups[i].Attributes = src_grps->Groups[i].Attributes;
}
/* Primary Group SID */
src_sid = (PSID) (base + authinf->inf.PrimaryGroup.PrimaryGroup);
- size = GetLengthSid (src_sid);
- CopySid (size, (PSID) tptr, src_sid);
+ size = RtlLengthSid (src_sid);
+ RtlCopySid (size, (PSID) tptr, src_sid);
tokinf->PrimaryGroup.PrimaryGroup = (PSID) tptr;
tptr += size;
/* Privileges */
@@ -545,7 +554,8 @@ LsaApLogonUserEx (PLSA_CLIENT_REQUEST request, SECURITY_LOGON_TYPE logon_type,
not done in the 64 bit code above for hopefully obvious reasons... */
LUID logon_sid_id;
- if (must_create_logon_sid && !AllocateLocallyUniqueId (&logon_sid_id))
+ if (must_create_logon_sid
+ && !NT_SUCCESS (NtAllocateLocallyUniqueId (&logon_sid_id)))
return STATUS_INSUFFICIENT_RESOURCES;
if (!(tokinf = funcs->AllocateLsaHeap (authinf->inf_size)))
@@ -565,13 +575,13 @@ LsaApLogonUserEx (PLSA_CLIENT_REQUEST request, SECURITY_LOGON_TYPE logon_type,
((PBYTE) tokinf + (LONG_PTR) tokinf->Groups->Groups[i].Sid);
if (must_create_logon_sid
&& tokinf->Groups->Groups[i].Attributes & SE_GROUP_LOGON_ID
- && *GetSidSubAuthorityCount (tokinf->Groups->Groups[i].Sid) == 3
- && *GetSidSubAuthority (tokinf->Groups->Groups[i].Sid, 0)
+ && *RtlSubAuthorityCountSid (tokinf->Groups->Groups[i].Sid) == 3
+ && *RtlSubAuthoritySid (tokinf->Groups->Groups[i].Sid, 0)
== SECURITY_LOGON_IDS_RID)
{
- *GetSidSubAuthority (tokinf->Groups->Groups[i].Sid, 1)
+ *RtlSubAuthoritySid (tokinf->Groups->Groups[i].Sid, 1)
= logon_sid_id.HighPart;
- *GetSidSubAuthority (tokinf->Groups->Groups[i].Sid, 2)
+ *RtlSubAuthoritySid (tokinf->Groups->Groups[i].Sid, 2)
= logon_sid_id.LowPart;
}
}
@@ -598,12 +608,12 @@ LsaApLogonUserEx (PLSA_CLIENT_REQUEST request, SECURITY_LOGON_TYPE logon_type,
(PVOID)((LONG_PTR) &authinf->inf + authinf->inf_size));
/* Create logon session. */
- if (!AllocateLocallyUniqueId (logon_id))
+ stat = NtAllocateLocallyUniqueId (logon_id);
+ if (!NT_SUCCESS (stat))
{
funcs->FreeLsaHeap (*tok);
*tok = NULL;
- cyglsa_printf ("AllocateLocallyUniqueId failed: Win32 error %lu\n",
- GetLastError ());
+ cyglsa_printf ("NtAllocateLocallyUniqueId status 0x%08lx\n", stat);
return STATUS_INSUFFICIENT_RESOURCES;
}
stat = funcs->CreateLogonSession (logon_id);
diff --git a/winsup/lsaauth/cyglsa64.dll b/winsup/lsaauth/cyglsa64.dll
index f3324d26a..14f1f6cff 100644
--- a/winsup/lsaauth/cyglsa64.dll
+++ b/winsup/lsaauth/cyglsa64.dll
Binary files differ
diff --git a/winsup/lsaauth/make-64bit-version-with-mingw-w64.sh b/winsup/lsaauth/make-64bit-version-with-mingw-w64.sh
index 4a8c37c23..a93daf8f3 100644
--- a/winsup/lsaauth/make-64bit-version-with-mingw-w64.sh
+++ b/winsup/lsaauth/make-64bit-version-with-mingw-w64.sh
@@ -20,10 +20,6 @@ set -e
CC="x86_64-w64-mingw32-gcc"
CFLAGS="-fno-exceptions -O0 -Wall -Werror"
LDFLAGS="-s -nostdlib -Wl,--entry,DllMain,--major-os-version,5,--minor-os-version,2"
-# Never again try to remove advapi32. It does not matter if the DLL calls
-# advapi32 functions or the equivalent ntdll functions.
-# But if the LSA authentication DLL is not linked against advapi32, it's
-# not recognized by LSA.
-LIBS="-ladvapi32 -lkernel32 -lntdll"
+LIBS="-lkernel32 -lntdll"
$CC $CFLAGS $LDFLAGS -shared -o cyglsa64.dll cyglsa.c cyglsa64.def $LIBS
diff --git a/winsup/mingw/ChangeLog b/winsup/mingw/ChangeLog
index 3eb8975c1..1dd80cc56 100644
--- a/winsup/mingw/ChangeLog
+++ b/winsup/mingw/ChangeLog
@@ -1,68 +1,3 @@
-2012-08-08 Kai Tietz <ktietz@redhat.com>
-
- * mingwex/gdtoa/gd_qnan.h: Make Nan constants positive valued.
-
-2012-08-06 Earnie Boyd <earnie@users.sourceforge.net>
-
- * mingwex/membarrier.c: New file.
- * mingwex/Makefile.in (DISTFILES): Add membarrier.c.
- (REPLACE_OBJS): Add membarrier.o.
-
-2012-08-02 Ivan Maidanski <ivmai@users.sourceforge.net>
-
- * include/process.h (_wexec*, _wspawn*): Declare.
-
-2012-08-02 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/stdlib.h (_strtoi64): Declare.
- (_strtoi64_l): Ditto.
- (_strtoui64): Ditto.
- (_strtoui64_l): Ditto.
- (_wcstrtoi64): Ditto.
- (_wcstrtoi64_l): Ditto.
- (_wcstrtoui64): Ditto.
- (_wcstrtoui64_l): Ditto.
- * include/wchar.h (_wcstrtoi64): Ditto.
- (_wcstrtoi64_l): Ditto.
- (_wcstrtoui64): Ditto.
- (_wcstrtoui64_l): Ditto.
- * include/stdio.h (_getws, _putws): Guard with #ifndef __STRICT_ANSI__.
- (_wfdopen, _wfopen, _wfreopen, _wfsopen, _wtmpnam, _wtempnam): Ditto.
- (_wrename, _wremove, _wperror, _wpopen): Ditto.
- (_lock_file, _unlock_file): Declare.
- * include/limits.h (PATH_MAX): Guard with #ifndef __STRICT_ANSI__.
- * include/sys/param.h (MAXPATHLEN): Make sure PATH_MAX is defined.
- * include/_mingw.h (threadlocalinfostruct, threadmbinfostruct,
- *pthreadlocinfo, *pthreadmbcinfo, _locale_tstruct, *_locale_t): Declare.
- * mingwex/tsearch.c: Correct coding to produce the proper results.
-
-2012-08-01 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/excpt.h (__try1): Define based on _WIN64 definition.
- (__except1): Ditto.
-
-2012-07-30 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/stdint.h: Include _mingw.h for the definition of __int64 when
- _WIN64 is defined.
- * include/inttypes.h: A few items like PRNdPTR and SCNdPTR need 64
- bitness specified when _WIN64 is defined.
- * include/_mingw.h: Add __MINGW_VERSION, __MINGW_MAJOR_VERSION,
- __MINGW_MINOR_VERSION and __MINGW_PATCHLEVEL deprecating the __MINGW32_*
- versions of the macros.
- * configure.in: Use __MINGW_VERSION instead of __MINGW32_VERSION.
- * configure: Ditto.
-
-2012-05-08 Keith Marshall <keithmarshall@users.sourceforge.net>
-
- Remove references to nonexistent files.
-
- * mingwex/Makefile.in (DISTFILES): Delete references to aclocal.m4,
- configure.in, and configure; these are no longer required, and are no
- longer available for distribution.
-
- * profile/Makefile.in (DISTFILES): Likewise.
-
2012-02-01 Keith Marshall <keithmarshall@users.sourceforge.net>
More performance enhancements and POSIX compliance corrections.
diff --git a/winsup/mingw/configure b/winsup/mingw/configure
index 598ed6d9d..1ca8b5336 100755
--- a/winsup/mingw/configure
+++ b/winsup/mingw/configure
@@ -1788,7 +1788,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
{ $as_echo "$as_me:$LINENO: checking package version" >&5
$as_echo_n "checking package version... " >&6; }
- PACKAGE_VERSION=`awk '$2 == "'"__MINGW_VERSION"'" { print $3 }' ${srcdir}/include/_mingw.h`
+ PACKAGE_VERSION=`awk '$2 == "'"__MINGW32_VERSION"'" { print $3 }' ${srcdir}/include/_mingw.h`
{ $as_echo "$as_me:$LINENO: result: $PACKAGE_VERSION" >&5
$as_echo "$PACKAGE_VERSION" >&6; }
diff --git a/winsup/mingw/configure.in b/winsup/mingw/configure.in
index eccf84074..92dbd3d1d 100644
--- a/winsup/mingw/configure.in
+++ b/winsup/mingw/configure.in
@@ -18,7 +18,7 @@ dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
AC_PREREQ([2.59])
AC_INIT([MinGW Runtime], [v3.x], [http://mingw.org/reporting_bugs], [mingwrt])
-MINGW_AC_CONFIG_SRCDIR([__MINGW_VERSION], [include/_mingw.h])
+MINGW_AC_CONFIG_SRCDIR([__MINGW32_VERSION], [include/_mingw.h])
AC_CANONICAL_SYSTEM
GCC_NO_EXECUTABLES
diff --git a/winsup/mingw/include/_mingw.h b/winsup/mingw/include/_mingw.h
index cbfd54ced..cb0ff53a7 100644
--- a/winsup/mingw/include/_mingw.h
+++ b/winsup/mingw/include/_mingw.h
@@ -22,13 +22,6 @@
*/
#define __MINGW_H
-#define __MINGW_VERSION 4
-#define __MINGW_MAJOR_VERSION 0
-#define __MINGW_MINOR_VERSION 0
-#define __MINGW_PATCHLEVEL 0
-
-// These four macros are deprecated and will be removed in the next major
-// version release.
#define __MINGW32_VERSION 3.20
#define __MINGW32_MAJOR_VERSION 3
#define __MINGW32_MINOR_VERSION 20
@@ -47,10 +40,10 @@
__MINGW_IMPORT The attribute definition to specify imported
variables/functions.
_CRTIMP As above. For MS compatibility.
- __MINGW_VERSION Runtime version.
- __MINGW_MAJOR_VERSION Runtime major version.
- __MINGW_MINOR_VERSION Runtime minor version.
- __MINGW_BUILD_DATE Runtime build date.
+ __MINGW32_VERSION Runtime version.
+ __MINGW32_MAJOR_VERSION Runtime major version.
+ __MINGW32_MINOR_VERSION Runtime minor version.
+ __MINGW32_BUILD_DATE Runtime build date.
Macros to enable MinGW features which deviate from standard MSVC
compatible behaviour; these may be specified directly in user code,
@@ -290,14 +283,4 @@ allow GCC to optimize away some EH unwind code, at least in DW2 case. */
# endif
#endif
-struct threadlocalinfostruct;
-struct threadmbinfostruct;
-typedef struct threadlocalinfostruct *pthreadlocinfo;
-typedef struct threadmbcinfostruct *pthreadmbcinfo;
-
-typedef struct localeinfo_struct {
- pthreadlocinfo locinfo;
- pthreadmbcinfo mbcinfo;
-} _locale_tstruct, *_locale_t;
-
#endif /* __MINGW_H */
diff --git a/winsup/mingw/include/excpt.h b/winsup/mingw/include/excpt.h
index 3919cb791..e75ceb78f 100644
--- a/winsup/mingw/include/excpt.h
+++ b/winsup/mingw/include/excpt.h
@@ -75,15 +75,8 @@ typedef PEXCEPTION_REGISTRATION PEXCEPTION_REGISTRATION_RECORD;
* onto the stack, then put a pointer to the new registration
* structure (i.e. the current stack pointer) at fs:0.
*/
-#ifdef _WIN64
-# define __try1(pHandler) \
- __asm__ __volatile__ ("pushq %0;pushq %%gs:0;movq %%rsp,%%gs:0;" : : \
- "g" (pHandler));
-#else
-# define __try1(pHandler) \
- __asm__ __volatile__ ("pushl %0;pushl %%fs:0;movl %%esp,%%fs:0;" : : \
- "g" (pHandler));
-#endif
+#define __try1(pHandler) \
+ __asm__ ("pushl %0;pushl %%fs:0;movl %%esp,%%fs:0;" : : "g" (pHandler));
/*
* A macro which (despite its name) *removes* an installed
@@ -96,15 +89,9 @@ typedef PEXCEPTION_REGISTRATION PEXCEPTION_REGISTRATION_RECORD;
* the stack must be in the exact state at this point that it was
* after we did __try1 or this will smash things.
*/
-#ifdef _WIN64
-# define __except1 \
- __asm__ __volatile__ ("movq (%%rsp),%%rax;movq %%rax,%%gs:0;addq \
- $16,%%rsp;" : : : "%rax");
-#else
-# define __except1 \
- __asm__ __volatile__ ("movl (%%esp),%%eax;movl %%eax,%%fs:0;addl \
- $8,%%esp;" : : : "%eax");
-#endif
+#define __except1 \
+ __asm__ ("movl (%%esp),%%eax;movl %%eax,%%fs:0;addl $8,%%esp;" \
+ : : : "%eax");
#ifdef __cplusplus
}
diff --git a/winsup/mingw/include/inttypes.h b/winsup/mingw/include/inttypes.h
index e13040634..2d2bb8d80 100644
--- a/winsup/mingw/include/inttypes.h
+++ b/winsup/mingw/include/inttypes.h
@@ -44,6 +44,7 @@ typedef struct {
#define PRIdFAST64 "I64d"
#define PRIdMAX "I64d"
+#define PRIdPTR "d"
#define PRIi8 "i"
#define PRIi16 "i"
@@ -61,6 +62,7 @@ typedef struct {
#define PRIiFAST64 "I64i"
#define PRIiMAX "I64i"
+#define PRIiPTR "i"
#define PRIo8 "o"
#define PRIo16 "o"
@@ -79,6 +81,8 @@ typedef struct {
#define PRIoMAX "I64o"
+#define PRIoPTR "o"
+
/* fprintf macros for unsigned types */
#define PRIu8 "u"
#define PRIu16 "u"
@@ -97,6 +101,7 @@ typedef struct {
#define PRIuFAST64 "I64u"
#define PRIuMAX "I64u"
+#define PRIuPTR "u"
#define PRIx8 "x"
#define PRIx16 "x"
@@ -114,6 +119,7 @@ typedef struct {
#define PRIxFAST64 "I64x"
#define PRIxMAX "I64x"
+#define PRIxPTR "x"
#define PRIX8 "X"
#define PRIX16 "X"
@@ -131,22 +137,7 @@ typedef struct {
#define PRIXFAST64 "I64X"
#define PRIXMAX "I64X"
-
-#ifdef _WIN64
-#define PRIdPTR "I64d"
-#define PRIiPTR "I64i"
-#define PRIoPTR "I64o"
-#define PRIuPTR "I64u"
-#define PRIxPTR "I64x"
-#define PRIXPTR "I64X"
-#else
-#define PRIdPTR "d"
-#define PRIiPTR "i"
-#define PRIoPTR "o"
-#define PRIuPTR "u"
-#define PRIxPTR "x"
#define PRIXPTR "X"
-#endif
/*
* fscanf macros for signed int types
@@ -168,6 +159,7 @@ typedef struct {
#define SCNdFAST64 "I64d"
#define SCNdMAX "I64d"
+#define SCNdPTR "d"
#define SCNi16 "hi"
#define SCNi32 "i"
@@ -182,6 +174,7 @@ typedef struct {
#define SCNiFAST64 "I64i"
#define SCNiMAX "I64i"
+#define SCNiPTR "i"
#define SCNo16 "ho"
#define SCNo32 "o"
@@ -196,6 +189,7 @@ typedef struct {
#define SCNoFAST64 "I64o"
#define SCNoMAX "I64o"
+#define SCNoPTR "o"
#define SCNx16 "hx"
#define SCNx32 "x"
@@ -210,6 +204,8 @@ typedef struct {
#define SCNxFAST64 "I64x"
#define SCNxMAX "I64x"
+#define SCNxPTR "x"
+
/* fscanf macros for unsigned int types */
@@ -226,20 +222,7 @@ typedef struct {
#define SCNuFAST64 "I64u"
#define SCNuMAX "I64u"
-
-#ifdef _WIN64
-#define SCNdPTR "I64d"
-#define SCNiPTR "I64i"
-#define SCNoPTR "I64o"
-#define SCNxPTR "I64x"
-#define SCNuPTR "I64u"
-#else
-#define SCNdPTR "d"
-#define SCNiPTR "i"
-#define SCNoPTR "o"
-#define SCNxPTR "x"
#define SCNuPTR "u"
-#endif
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
/*
diff --git a/winsup/mingw/include/limits.h b/winsup/mingw/include/limits.h
index ca4900610..96ad26cec 100644
--- a/winsup/mingw/include/limits.h
+++ b/winsup/mingw/include/limits.h
@@ -29,9 +29,7 @@
* are semantically identical, with a limit of 259 characters for the
* path name, plus one for a terminating NUL, for a total of 260.
*/
-#ifndef __STRICT_ANSI__
-# define PATH_MAX 260
-#endif
+#define PATH_MAX 260
/*
* Characteristics of the char data type.
diff --git a/winsup/mingw/include/process.h b/winsup/mingw/include/process.h
index 0a3511f4d..c0c380fbd 100644
--- a/winsup/mingw/include/process.h
+++ b/winsup/mingw/include/process.h
@@ -79,28 +79,6 @@ _CRTIMP intptr_t __cdecl __MINGW_NOTHROW _spawnve (int, const char*, const char*
_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _spawnvp (int, const char*, const char* const*);
_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _spawnvpe (int, const char*, const char* const*, const char* const*);
-#ifndef _WPROCESS_DEFINED
-/* Also in wchar.h - keep in sync */
-_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wexecl (const wchar_t*, const wchar_t*, ...);
-_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wexecle (const wchar_t*, const wchar_t*, ...);
-_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wexeclp (const wchar_t*, const wchar_t*, ...);
-_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wexeclpe (const wchar_t*, const wchar_t*, ...);
-_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wexecv (const wchar_t*, const wchar_t* const*);
-_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wexecve (const wchar_t*, const wchar_t* const*, const wchar_t* const*);
-_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wexecvp (const wchar_t*, const wchar_t* const*);
-_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wexecvpe (const wchar_t*, const wchar_t* const*, const wchar_t* const*);
-
-_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wspawnl (int, const wchar_t*, const wchar_t*, ...);
-_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wspawnle (int, const wchar_t*, const wchar_t*, ...);
-_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wspawnlp (int, const wchar_t*, const wchar_t*, ...);
-_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wspawnlpe (int, const wchar_t*, const wchar_t*, ...);
-_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wspawnv (int, const wchar_t*, const wchar_t* const*);
-_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wspawnve (int, const wchar_t*, const wchar_t* const*, const wchar_t* const*);
-_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wspawnvp (int, const wchar_t*, const wchar_t* const*);
-_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wspawnvpe (int, const wchar_t*, const wchar_t* const*, const wchar_t* const*);
-
-#define _WPROCESS_DEFINED
-#endif
/*
* The functions _beginthreadex and _endthreadex are not provided by CRTDLL.
diff --git a/winsup/mingw/include/stdint.h b/winsup/mingw/include/stdint.h
index 942a1a8fc..c6ab3bcef 100644
--- a/winsup/mingw/include/stdint.h
+++ b/winsup/mingw/include/stdint.h
@@ -19,7 +19,6 @@
#ifndef _STDINT_H
#define _STDINT_H
-#include <_mingw.h>
#define __need_wint_t
#define __need_wchar_t
#include <stddef.h>
diff --git a/winsup/mingw/include/stdio.h b/winsup/mingw/include/stdio.h
index 60f540114..fe9f2b735 100644
--- a/winsup/mingw/include/stdio.h
+++ b/winsup/mingw/include/stdio.h
@@ -591,13 +591,10 @@ _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW fgetws (wchar_t*, int, FILE*);
_CRTIMP int __cdecl __MINGW_NOTHROW fputws (const wchar_t*, FILE*);
_CRTIMP wint_t __cdecl __MINGW_NOTHROW getwc (FILE*);
_CRTIMP wint_t __cdecl __MINGW_NOTHROW getwchar (void);
-_CRTIMP wint_t __cdecl __MINGW_NOTHROW putwc (wint_t, FILE*);
-_CRTIMP wint_t __cdecl __MINGW_NOTHROW putwchar (wint_t);
-#ifndef __STRICT_ANSI__
-_CRTIMP void __cdecl __MINGW_NOTHROW _lock_file(FILE*);
-_CRTIMP void __cdecl __MINGW_NOTHROW _unlock_file(FILE*);
_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _getws (wchar_t*);
+_CRTIMP wint_t __cdecl __MINGW_NOTHROW putwc (wint_t, FILE*);
_CRTIMP int __cdecl __MINGW_NOTHROW _putws (const wchar_t*);
+_CRTIMP wint_t __cdecl __MINGW_NOTHROW putwchar (wint_t);
_CRTIMP FILE* __cdecl __MINGW_NOTHROW _wfdopen(int, const wchar_t *);
_CRTIMP FILE* __cdecl __MINGW_NOTHROW _wfopen (const wchar_t*, const wchar_t*);
_CRTIMP FILE* __cdecl __MINGW_NOTHROW _wfreopen (const wchar_t*, const wchar_t*, FILE*);
@@ -608,7 +605,6 @@ _CRTIMP int __cdecl __MINGW_NOTHROW _wrename (const wchar_t*, const wchar_t*);
_CRTIMP int __cdecl __MINGW_NOTHROW _wremove (const wchar_t*);
_CRTIMP void __cdecl __MINGW_NOTHROW _wperror (const wchar_t*);
_CRTIMP FILE* __cdecl __MINGW_NOTHROW _wpopen (const wchar_t*, const wchar_t*);
-#endif /* __STRICT_ANSI__ */
#endif /* __MSVCRT__ */
#ifndef __NO_ISOCEXT /* externs in libmingwex.a */
diff --git a/winsup/mingw/include/stdlib.h b/winsup/mingw/include/stdlib.h
index ece21cb44..4df18aab3 100644
--- a/winsup/mingw/include/stdlib.h
+++ b/winsup/mingw/include/stdlib.h
@@ -300,11 +300,6 @@ __MINGW_IMPORT int _fmode_dll;
#endif /* Not __STRICT_ANSI__ */
-_CRTIMP __int64 __cdecl _strtoi64(const char*, char **, int);
-_CRTIMP __int64 __cdecl _strtoi64_l(const char *, char **, int, _locale_t);
-_CRTIMP unsigned __int64 __cdecl _strtoui64(const char*, char **, int);
-_CRTIMP unsigned __int64 __cdecl _strtoui64_l(const char *, char **, int, _locale_t);
-
_CRTIMP double __cdecl __MINGW_NOTHROW atof (const char*);
_CRTIMP int __cdecl __MINGW_NOTHROW atoi (const char*);
_CRTIMP long __cdecl __MINGW_NOTHROW atol (const char*);
@@ -328,10 +323,6 @@ _CRTIMP unsigned long __cdecl __MINGW_NOTHROW strtoul (const char*, char**, int)
#ifndef _WSTDLIB_DEFINED
/* also declared in wchar.h */
-_CRTIMP __int64 __cdecl _wcstoi64(const wchar_t *, wchar_t **, int);
-_CRTIMP __int64 __cdecl _wcstoi64_l(const wchar_t *, wchar_t **, int, _locale_t);
-_CRTIMP unsigned __int64 __cdecl _wcstoui64(const wchar_t *, wchar_t **, int);
-_CRTIMP unsigned __int64 __cdecl _wcstoui64_l(const wchar_t *, wchar_t **, int, _locale_t);
_CRTIMP long __cdecl __MINGW_NOTHROW wcstol (const wchar_t*, wchar_t**, int);
_CRTIMP unsigned long __cdecl __MINGW_NOTHROW wcstoul (const wchar_t*, wchar_t**, int);
_CRTIMP double __cdecl __MINGW_NOTHROW wcstod (const wchar_t*, wchar_t**);
diff --git a/winsup/mingw/include/sys/param.h b/winsup/mingw/include/sys/param.h
index d38b46a5c..74966bd78 100644
--- a/winsup/mingw/include/sys/param.h
+++ b/winsup/mingw/include/sys/param.h
@@ -17,10 +17,6 @@
#define LITTLE_ENDIAN 1234
#define BYTE_ORDER LITTLE_ENDIAN
-#ifdef PATH_MAX
#define MAXPATHLEN PATH_MAX
-#else
-#define MAXPATHLEN 260
-#endif
#endif
diff --git a/winsup/mingw/include/wchar.h b/winsup/mingw/include/wchar.h
index dadeda6d3..60e8d9c2b 100644
--- a/winsup/mingw/include/wchar.h
+++ b/winsup/mingw/include/wchar.h
@@ -177,10 +177,6 @@ _CRTIMP void __cdecl __MINGW_NOTHROW _wmakepath(wchar_t*, const wchar_t*, const
_CRTIMP void __cdecl __MINGW_NOTHROW _wsplitpath (const wchar_t*, wchar_t*, wchar_t*, wchar_t*, wchar_t*);
_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wfullpath (wchar_t*, const wchar_t*, size_t);
#endif
-_CRTIMP __int64 __cdecl _wcstoi64(const wchar_t *, wchar_t **, int);
-_CRTIMP __int64 __cdecl _wcstoi64_l(const wchar_t *, wchar_t **, int, _locale_t);
-_CRTIMP unsigned __int64 __cdecl _wcstoui64(const wchar_t *, wchar_t **, int);
-_CRTIMP unsigned __int64 __cdecl _wcstoui64_l(const wchar_t *, wchar_t **, int, _locale_t);
#define _WSTDLIB_DEFINED
#endif /* _WSTDLIB_DEFINED */
diff --git a/winsup/mingw/mingwex/Makefile.in b/winsup/mingw/mingwex/Makefile.in
index afe32e5be..a495d5269 100644
--- a/winsup/mingw/mingwex/Makefile.in
+++ b/winsup/mingw/mingwex/Makefile.in
@@ -35,12 +35,12 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
mkinstalldirs = $(SHELL) $(srcdir)/../mkinstalldirs
DISTFILES = \
- Makefile.in \
+ Makefile.in configure configure.in aclocal.m4 \
_Exit.c atoll.c dirent.c feclearexcept.c fegetenv.c \
fegetexceptflag.c fegetround.c feholdexcept.c feraiseexcept.c \
fesetenv.c fesetexceptflag.c fesetround.c fetestexcept.c \
feupdateenv.c ftruncate.c fwide.c getopt.c imaxabs.c imaxdiv.c \
- lltoa.c lltow.c mbsinit.c membarrier.c mingw-aligned-malloc.c \
+ lltoa.c lltow.c mbsinit.c mingw-aligned-malloc.c \
mingw-fseek.c sitest.c strtoimax.c strtoumax.c \
testwmem.c tst-aligned-malloc.c ulltoa.c ulltow.c wcstof.c \
wcstoimax.c wcstold.c wcstoumax.c wctrans.c wctype.c \
@@ -201,7 +201,7 @@ POSIX_OBJS = \
dirent.o wdirent.o getopt.o ftruncate.o gettimeofday.o usleep.o \
basename.o dirname.o tsearch.o twalk.o tdelete.o tfind.o
REPLACE_OBJS = \
- membarrier.o mingw-aligned-malloc.o mingw-fseek.o
+ mingw-aligned-malloc.o mingw-fseek.o
COMPLEX_OBJS = \
cabs.o cabsf.o cabsl.o cacos.o cacosf.o cacosl.o cacosh.o \
cacoshf.o cacoshl.o carg.o cargf.o cargl.o casin.o casinf.o \
diff --git a/winsup/mingw/mingwex/gdtoa/gd_qnan.h b/winsup/mingw/mingwex/gdtoa/gd_qnan.h
index 0b468c492..87eba8fb3 100644
--- a/winsup/mingw/mingwex/gdtoa/gd_qnan.h
+++ b/winsup/mingw/mingwex/gdtoa/gd_qnan.h
@@ -1,12 +1,12 @@
-#define f_QNAN 0x7fc00000
+#define f_QNAN 0xffc00000
#define d_QNAN0 0x0
-#define d_QNAN1 0x7ff80000
+#define d_QNAN1 0xfff80000
#define ld_QNAN0 0x0
#define ld_QNAN1 0xc0000000
-#define ld_QNAN2 0x7fff
+#define ld_QNAN2 0xffff
#define ld_QNAN3 0x0
#define ldus_QNAN0 0x0
#define ldus_QNAN1 0x0
#define ldus_QNAN2 0x0
#define ldus_QNAN3 0xc000
-#define ldus_QNAN4 0x7fff
+#define ldus_QNAN4 0xffff
diff --git a/winsup/mingw/mingwex/membarrier.c b/winsup/mingw/mingwex/membarrier.c
deleted file mode 100644
index b8da9f7de..000000000
--- a/winsup/mingw/mingwex/membarrier.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- */
-void __mingworg_MemoryBarrier(void);
-void __mingworg_MemoryBarrier(void)
-{
- long Barrier = 0;
- __asm__ __volatile__("xchgl %%eax,%0 "
- :"=r" (Barrier));
-}
-
diff --git a/winsup/mingw/mingwex/tsearch.c b/winsup/mingw/mingwex/tsearch.c
index 55f192214..a0aa0eb36 100755
--- a/winsup/mingw/mingwex/tsearch.c
+++ b/winsup/mingw/mingwex/tsearch.c
@@ -23,33 +23,29 @@ tsearch(const void * __restrict__ vkey, /* key to be located */
void ** __restrict__ vrootp, /* address of tree root */
int (*compar) (const void *, const void *))
{
- node_t *q, **n;
+ node_t *q;
node_t **rootp = (node_t **)vrootp;
if (rootp == NULL)
return NULL;
- n = rootp;
- while (*n != NULL) { /* Knuth's T1: */
+ while (*rootp != NULL) { /* Knuth's T1: */
int r;
- if ((r = (*compar)(vkey, ((*n)->key))) == 0) /* T2: */
- return *n; /* we found it! */
+ if ((r = (*compar)(vkey, (*rootp)->key)) == 0) /* T2: */
+ return *rootp; /* we found it! */
- n = (r < 0) ?
+ rootp = (r < 0) ?
&(*rootp)->llink : /* T3: follow left branch */
&(*rootp)->rlink; /* T4: follow right branch */
- if (*n == NULL)
- break;
- rootp = n;
}
q = malloc(sizeof(node_t)); /* T5: key not found */
- if (!q)
- return q;
- *n = q; /* make new node */
- /* LINTED const castaway ok */
- q->key = (void *)vkey; /* initialize new node */
- q->llink = q->rlink = NULL;
+ if (q != 0) { /* make new node */
+ *rootp = q; /* link new node to old */
+ /* LINTED const castaway ok */
+ q->key = (void *)vkey; /* initialize new node */
+ q->llink = q->rlink = NULL;
+ }
return q;
}
diff --git a/winsup/mingw/profile/Makefile.in b/winsup/mingw/profile/Makefile.in
index afd480960..83a288033 100644
--- a/winsup/mingw/profile/Makefile.in
+++ b/winsup/mingw/profile/Makefile.in
@@ -33,8 +33,8 @@ INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
mkinstalldirs = $(SHELL) $(srcdir)/../mkinstalldirs
-DISTFILES = Makefile.in gcrt0.c gmon.c gmon.h \
- mcount.c profil.c profil.h profile.h CYGWIN_LICENSE COPYING
+DISTFILES = Makefile.in configure configure.in aclocal.m4 gcrt0.c gmon.c gmon.h \
+mcount.c profil.c profil.h profile.h CYGWIN_LICENSE COPYING
CC = @CC@
# FIXME: Which is it, CC or CC_FOR_TARGET?
diff --git a/winsup/testsuite/ChangeLog b/winsup/testsuite/ChangeLog
index 4d934a437..218cd5aa0 100644
--- a/winsup/testsuite/ChangeLog
+++ b/winsup/testsuite/ChangeLog
@@ -1,7 +1,3 @@
-2012-04-24 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * configure: Regenerate.
-
2011-03-21 Corinna Vinschen <corinna@vinschen.de>
* libltp/lib/get_high_address.c: Align copyright with upstream.
diff --git a/winsup/testsuite/configure b/winsup/testsuite/configure
index f0767845a..4d97f3f1a 100644
--- a/winsup/testsuite/configure
+++ b/winsup/testsuite/configure
@@ -1,422 +1,81 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68.
-#
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
-#
+# Generated by GNU Autoconf 2.59.
#
+# Copyright (C) 2003 Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
fi
+DUALCASE=1; export DUALCASE # for MKS sh
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
fi
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
PS1='$ '
PS2='> '
PS4='+ '
# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-"
- as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
- exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1"
- if (eval "$as_required") 2>/dev/null; then :
- as_have_required=yes
-else
- as_have_required=no
-fi
- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- as_found=:
- case $as_dir in #(
- /*)
- for as_base in sh bash ksh sh5; do
- # Try only shells that exist, to save several forks.
- as_shell=$as_dir/$as_base
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
- CONFIG_SHELL=$as_shell as_have_required=yes
- if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
- break 2
-fi
-fi
- done;;
- esac
- as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
- CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
- if test "x$CONFIG_SHELL" != x; then :
- # We cannot yet assume a decent shell, so we have to provide a
- # neutralization value for shells without unset; and this also
- # works around shells that cannot unset nonexistent variables.
- # Preserve -v and -x to the replacement shell.
- BASH_ENV=/dev/null
- ENV=/dev/null
- (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
- export CONFIG_SHELL
- case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
- esac
- exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
-
- if test x$as_have_required = xno; then :
- $as_echo "$0: This script requires a shell more modern than all"
- $as_echo "$0: the shells that I found on your system."
- if test x${ZSH_VERSION+set} = xset ; then
- $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
else
- $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
-$0: including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
+ $as_unset $as_var
fi
- exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
+done
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
as_expr=expr
else
as_expr=false
fi
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
fi
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-as_me=`$as_basename -- "$0" ||
+# Name of the executable.
+as_me=`$as_basename "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
+ X"$0" : 'X\(/\)$' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+ /^X\/\(\/\/\)$/{ s//\1/; q; }
+ /^X\/\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+
+# PATH needs CR, and LINENO needs CR and PATH.
# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
@@ -424,107 +83,146 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" || {
+ # Find who we are. Look in the path if we contain no path at all
+ # relative or not.
+ case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+ ;;
+ esac
+ # We did not find ourselves, most probably we were run as `sh COMMAND'
+ # in which case we are not to be found in the path.
+ if test "x$as_myself" = x; then
+ as_myself=$0
+ fi
+ if test ! -f "$as_myself"; then
+ { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
+ { (exit 1); exit 1; }; }
+ fi
+ case $CONFIG_SHELL in
+ '')
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for as_base in sh bash ksh sh5; do
+ case $as_dir in
+ /*)
+ if ("$as_dir/$as_base" -c '
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
+ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+ CONFIG_SHELL=$as_dir/$as_base
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+ fi;;
+ esac
+ done
+done
+;;
+ esac
- as_lineno_1=$LINENO as_lineno_1a=$LINENO
- as_lineno_2=$LINENO as_lineno_2a=$LINENO
- eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
- test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
- # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line before each line; the second 'sed' does the real
+ # work. The second script uses 'N' to pair each line-number line
+ # with the numbered line, and appends trailing '-' during
+ # substitution so that $LINENO is not a special case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
+ sed '=' <$as_myself |
sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ s,$,-,
+ : loop
+ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
t loop
- s/-\n.*//
+ s,-$,,
+ s,^['$as_cr_digits']*\n,,
' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+ chmod +x $as_me.lineno ||
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
+ # original and so on. Autoconf is especially sensible to this).
+ . ./$as_me.lineno
# Exit status is that of the last command.
exit
}
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+ *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T=' ' ;;
+ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+ *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
esac
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
+ as_expr=false
fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
else
as_ln_s='cp -p'
fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
+rm -f conf$$ conf$$.exe conf$$.file
if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
+ as_mkdir_p=:
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
+as_executable_p="test -f"
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -533,25 +231,38 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
# so uname gets run too.
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+exec 6>&1
+
#
# Initializations.
#
ac_default_prefix=/usr/local
-ac_clean_files=
ac_config_libobj_dir=.
-LIBOBJS=
cross_compiling=no
subdirs=
MFLAGS=
MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Maximum number of lines to put in a shell here document.
+# This variable seems obsolete. It should probably be removed, and
+# only ac_max_sed_lines should be used.
+: ${ac_max_here_lines=38}
# Identity of this package.
PACKAGE_NAME=
@@ -559,78 +270,14 @@ PACKAGE_TARNAME=
PACKAGE_VERSION=
PACKAGE_STRING=
PACKAGE_BUGREPORT=
-PACKAGE_URL=
ac_unique_file="Makefile.in"
-ac_subst_vars='LTLIBOBJS
-LIBOBJS
-AR
-CPP
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP AR ac_ct_AR LIBOBJS LTLIBOBJS'
ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-'
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CPP'
-
# Initialize some variables set by options.
ac_init_help=
ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
# The variables have the same names as the options, with
# dashes changed to underlines.
cache_file=/dev/null
@@ -653,49 +300,34 @@ x_libraries=NONE
# and all the variables that are supposed to be based on exec_prefix
# by default will actually change.
# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
+datadir='${prefix}/share'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
includedir='${prefix}/include'
oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
ac_prev=
-ac_dashdash=
for ac_option
do
# If the previous option needs an argument, assign it.
if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
+ eval "$ac_prev=\$ac_option"
ac_prev=
continue
fi
- case $ac_option in
- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *=) ac_optarg= ;;
- *) ac_optarg=yes ;;
- esac
+ ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
# Accept the important Cygnus configure options, so we can diagnose typos.
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
+ case $ac_option in
-bindir | --bindir | --bindi | --bind | --bin | --bi)
ac_prev=bindir ;;
@@ -717,59 +349,33 @@ do
--config-cache | -C)
cache_file=config.cache ;;
- -datadir | --datadir | --datadi | --datad)
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
datadir=$ac_optarg ;;
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
-disable-* | --disable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+ eval "enable_$ac_feature=no" ;;
-enable-* | --enable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+ case $ac_option in
+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) ac_optarg=yes ;;
esac
- eval enable_$ac_useropt=\$ac_optarg ;;
+ eval "enable_$ac_feature='$ac_optarg'" ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
@@ -796,12 +402,6 @@ do
-host=* | --host=* | --hos=* | --ho=*)
host_alias=$ac_optarg ;;
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
-includedir | --includedir | --includedi | --included | --include \
| --includ | --inclu | --incl | --inc)
ac_prev=includedir ;;
@@ -826,16 +426,13 @@ do
| --libexe=* | --libex=* | --libe=*)
libexecdir=$ac_optarg ;;
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
-localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
ac_prev=localstatedir ;;
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
localstatedir=$ac_optarg ;;
-mandir | --mandir | --mandi | --mand | --man | --ma | --m)
@@ -900,16 +497,6 @@ do
| --progr-tra=* | --program-tr=* | --program-t=*)
program_transform_name=$ac_optarg ;;
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
@@ -960,36 +547,26 @@ do
ac_init_version=: ;;
-with-* | --with-*)
- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case $ac_option in
+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) ac_optarg=yes ;;
esac
- eval with_$ac_useropt=\$ac_optarg ;;
+ eval "with_$ac_package='$ac_optarg'" ;;
-without-* | --without-*)
- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=no ;;
+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package | sed 's/-/_/g'`
+ eval "with_$ac_package=no" ;;
--x)
# Obsolete; use --with-x.
@@ -1009,26 +586,27 @@ do
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries=$ac_optarg ;;
- -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
+ -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; }
;;
*=*)
ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
# Reject names that are not valid shell variable names.
- case $ac_envvar in #(
- '' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
- esac
- eval $ac_envvar=\$ac_optarg
+ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { (exit 1); exit 1; }; }
+ ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
+ eval "$ac_envvar='$ac_optarg'"
export $ac_envvar ;;
*)
# FIXME: should be removed in autoconf 3.0.
- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ echo "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
+ echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
;;
esac
@@ -1036,36 +614,31 @@ done
if test -n "$ac_prev"; then
ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error $? "missing argument to $ac_option"
+ { echo "$as_me: error: missing argument to $ac_option" >&2
+ { (exit 1); exit 1; }; }
fi
-if test -n "$ac_unrecognized_opts"; then
- case $enable_option_checking in
- no) ;;
- fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
- *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
- esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
+# Be sure to have absolute paths.
+for ac_var in exec_prefix prefix
do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
+ eval ac_val=$`echo $ac_var`
case $ac_val in
- */ )
- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- eval $ac_var=\$ac_val;;
+ [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
+ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; };;
esac
- # Be sure to have absolute directory names.
+done
+
+# Be sure to have absolute paths.
+for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
+ localstatedir libdir includedir oldincludedir infodir mandir
+do
+ eval ac_val=$`echo $ac_var`
case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ [\\/$]* | ?:[\\/]* ) ;;
+ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; };;
esac
- as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
done
# There might be people who depend on the old broken behavior: `$host'
@@ -1079,8 +652,8 @@ target=$target_alias
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
- $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used" >&2
+ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used." >&2
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
fi
@@ -1092,72 +665,74 @@ test -n "$host_alias" && ac_tool_prefix=$host_alias-
test "$silent" = yes && exec 6>/dev/null
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error $? "pwd does not report name of working directory"
-
-
# 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 the parent directory.
- ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_myself" : 'X\(//\)[^/]' \| \
- X"$as_myself" : 'X\(//\)$' \| \
- X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
+ # Try the directory containing this script, then its parent.
+ ac_confdir=`(dirname "$0") 2>/dev/null ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$0" : 'X\(//\)[^/]' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$0" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
+ if test ! -r $srcdir/$ac_unique_file; then
srcdir=..
fi
else
ac_srcdir_defaulted=no
fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+ { (exit 1); exit 1; }; }
+ else
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+ { (exit 1); exit 1; }; }
+ fi
+fi
+(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
+ { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+ { (exit 1); exit 1; }; }
+srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
+ac_env_build_alias_set=${build_alias+set}
+ac_env_build_alias_value=$build_alias
+ac_cv_env_build_alias_set=${build_alias+set}
+ac_cv_env_build_alias_value=$build_alias
+ac_env_host_alias_set=${host_alias+set}
+ac_env_host_alias_value=$host_alias
+ac_cv_env_host_alias_set=${host_alias+set}
+ac_cv_env_host_alias_value=$host_alias
+ac_env_target_alias_set=${target_alias+set}
+ac_env_target_alias_value=$target_alias
+ac_cv_env_target_alias_set=${target_alias+set}
+ac_cv_env_target_alias_value=$target_alias
+ac_env_CC_set=${CC+set}
+ac_env_CC_value=$CC
+ac_cv_env_CC_set=${CC+set}
+ac_cv_env_CC_value=$CC
+ac_env_CFLAGS_set=${CFLAGS+set}
+ac_env_CFLAGS_value=$CFLAGS
+ac_cv_env_CFLAGS_set=${CFLAGS+set}
+ac_cv_env_CFLAGS_value=$CFLAGS
+ac_env_LDFLAGS_set=${LDFLAGS+set}
+ac_env_LDFLAGS_value=$LDFLAGS
+ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
+ac_cv_env_LDFLAGS_value=$LDFLAGS
+ac_env_CPPFLAGS_set=${CPPFLAGS+set}
+ac_env_CPPFLAGS_value=$CPPFLAGS
+ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
+ac_cv_env_CPPFLAGS_value=$CPPFLAGS
+ac_env_CPP_set=${CPP+set}
+ac_env_CPP_value=$CPP
+ac_cv_env_CPP_set=${CPP+set}
+ac_cv_env_CPP_value=$CPP
#
# Report the --help message.
@@ -1180,17 +755,20 @@ Configuration:
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking ...' messages
+ -q, --quiet, --silent do not print \`checking...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for \`--cache-file=config.cache'
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or \`..']
+_ACEOF
+
+ cat <<_ACEOF
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
+ [$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
+ [PREFIX]
By default, \`make install' will install all the files in
\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
@@ -1200,25 +778,18 @@ for instance \`--prefix=\$HOME'.
For better control, use the options below.
Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --infodir=DIR info documentation [PREFIX/info]
+ --mandir=DIR man documentation [PREFIX/man]
_ACEOF
cat <<\_ACEOF
@@ -1234,176 +805,126 @@ Some influential environment variables:
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
- LIBS libraries to pass to the linker, e.g. -l<library>
- CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
- you have headers in a nonstandard directory <include dir>
+ CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
+ headers in a nonstandard directory <include dir>
CPP C preprocessor
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
-Report bugs to the package provider.
_ACEOF
-ac_status=$?
fi
if test "$ac_init_help" = "recursive"; then
# If there are subdirs, report their specific --help.
+ ac_popdir=`pwd`
for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" ||
- { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
- continue
+ test -d $ac_dir || continue
ac_builddir=.
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
+if test "$ac_dir" != .; then
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+ ac_dir_suffix= ac_top_builddir=
+fi
case $srcdir in
- .) # We are building in place.
+ .) # No --srcdir option. We are building in place.
ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
+ if test -z "$ac_top_builddir"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* ) # Absolute path.
ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_builddir$srcdir ;;
esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+ case "$ac_dir" in
+ .) ac_abs_builddir=`pwd`;;
+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+ *) ac_abs_builddir=`pwd`/"$ac_dir";;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+ case ${ac_top_builddir}. in
+ .) ac_abs_top_builddir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+ case $ac_srcdir in
+ .) ac_abs_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+ case $ac_top_srcdir in
+ .) ac_abs_top_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+ esac;;
+esac
+
+ cd $ac_dir
+ # Check for guested configure; otherwise get Cygnus style configure.
+ if test -f $ac_srcdir/configure.gnu; then
+ echo
+ $SHELL $ac_srcdir/configure.gnu --help=recursive
+ elif test -f $ac_srcdir/configure; then
+ echo
+ $SHELL $ac_srcdir/configure --help=recursive
+ elif test -f $ac_srcdir/configure.ac ||
+ test -f $ac_srcdir/configure.in; then
+ echo
+ $ac_configure --help
else
- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
+ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi
+ cd "$ac_popdir"
done
fi
-test -n "$ac_init_help" && exit $ac_status
+test -n "$ac_init_help" && exit 0
if $ac_init_version; then
cat <<\_ACEOF
-configure
-generated by GNU Autoconf 2.68
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2003 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
- exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } > conftest.i && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
+ exit 0
fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-cat >config.log <<_ACEOF
+exec 5>config.log
+cat >&5 <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by $as_me, which was
-generated by GNU Autoconf 2.68. Invocation command line was
+generated by GNU Autoconf 2.59. Invocation command line was
$ $0 $@
_ACEOF
-exec 5>>config.log
{
cat <<_ASUNAME
## --------- ##
@@ -1422,7 +943,7 @@ uname -v = `(uname -v) 2>/dev/null || echo unknown`
/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
+hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
@@ -1434,9 +955,8 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- $as_echo "PATH: $as_dir"
- done
-IFS=$as_save_IFS
+ echo "PATH: $as_dir"
+done
} >&5
@@ -1458,6 +978,7 @@ _ACEOF
ac_configure_args=
ac_configure_args0=
ac_configure_args1=
+ac_sep=
ac_must_keep_next=false
for ac_pass in 1 2
do
@@ -1468,13 +989,13 @@ do
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
continue ;;
- *\'*)
- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
case $ac_pass in
- 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
2)
- as_fn_append ac_configure_args1 " '$ac_arg'"
+ ac_configure_args1="$ac_configure_args1 '$ac_arg'"
if test $ac_must_keep_next = true; then
ac_must_keep_next=false # Got value, back to normal.
else
@@ -1490,115 +1011,104 @@ do
-* ) ac_must_keep_next=true ;;
esac
fi
- as_fn_append ac_configure_args " '$ac_arg'"
+ ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
+ # Get rid of the leading space.
+ ac_sep=" "
;;
esac
done
done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
# When interrupted or exit'd, cleanup temporary files, and complete
# config.log. We remove comments because anyway the quotes in there
# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+# WARNING: Be sure not to use single quotes in there, as some shells,
+# such as our DU 5.0 friend, will then `close' the trap.
trap 'exit_status=$?
# Save into config.log some information that might help in debugging.
{
echo
- $as_echo "## ---------------- ##
+ cat <<\_ASBOX
+## ---------------- ##
## Cache variables. ##
-## ---------------- ##"
+## ---------------- ##
+_ASBOX
echo
# The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
+{
(set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
+ case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
+ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
+ ;;
*)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
;;
- esac |
- sort
-)
+ esac;
+}
echo
- $as_echo "## ----------------- ##
+ cat <<\_ASBOX
+## ----------------- ##
## Output variables. ##
-## ----------------- ##"
+## ----------------- ##
+_ASBOX
echo
for ac_var in $ac_subst_vars
do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
+ eval ac_val=$`echo $ac_var`
+ echo "$ac_var='"'"'$ac_val'"'"'"
done | sort
echo
if test -n "$ac_subst_files"; then
- $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
+ cat <<\_ASBOX
+## ------------- ##
+## Output files. ##
+## ------------- ##
+_ASBOX
echo
for ac_var in $ac_subst_files
do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
+ eval ac_val=$`echo $ac_var`
+ echo "$ac_var='"'"'$ac_val'"'"'"
done | sort
echo
fi
if test -s confdefs.h; then
- $as_echo "## ----------- ##
+ cat <<\_ASBOX
+## ----------- ##
## confdefs.h. ##
-## ----------- ##"
+## ----------- ##
+_ASBOX
echo
- cat confdefs.h
+ sed "/^$/d" confdefs.h | sort
echo
fi
test "$ac_signal" != 0 &&
- $as_echo "$as_me: caught signal $ac_signal"
- $as_echo "$as_me: exit $exit_status"
+ echo "$as_me: caught signal $ac_signal"
+ echo "$as_me: exit $exit_status"
} >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+ rm -f core *.core &&
+ rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
exit $exit_status
-' 0
+ ' 0
for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
+ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
done
ac_signal=0
# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo >confdefs.h
# Predefined preprocessor variables.
@@ -1606,137 +1116,112 @@ cat >>confdefs.h <<_ACEOF
#define PACKAGE_NAME "$PACKAGE_NAME"
_ACEOF
+
cat >>confdefs.h <<_ACEOF
#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
_ACEOF
+
cat >>confdefs.h <<_ACEOF
#define PACKAGE_VERSION "$PACKAGE_VERSION"
_ACEOF
+
cat >>confdefs.h <<_ACEOF
#define PACKAGE_STRING "$PACKAGE_STRING"
_ACEOF
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
_ACEOF
# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
- # We do not want a PATH search for config.site.
- case $CONFIG_SITE in #((
- -*) ac_site_file1=./$CONFIG_SITE;;
- */*) ac_site_file1=$CONFIG_SITE;;
- *) ac_site_file1=./$CONFIG_SITE;;
- esac
-elif test "x$prefix" != xNONE; then
- ac_site_file1=$prefix/share/config.site
- ac_site_file2=$prefix/etc/config.site
-else
- ac_site_file1=$ac_default_prefix/share/config.site
- ac_site_file2=$ac_default_prefix/etc/config.site
+# 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 "$ac_site_file1" "$ac_site_file2"
-do
- test "x$ac_site_file" = xNONE && continue
- if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file" \
- || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5 ; }
+ . "$ac_site_file"
fi
done
if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special files
- # actually), so we avoid doing that. DJGPP emulates it as a regular file.
- if test /dev/null != "$cache_file" && test -f "$cache_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
+ # Some versions of bash will fail to source /dev/null (special
+ # files actually), so we avoid doing that.
+ if test -f "$cache_file"; then
+ { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
+ [\\/]* | ?:[\\/]* ) . $cache_file;;
+ *) . ./$cache_file;;
esac
fi
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
+ { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
>$cache_file
fi
# Check that the precious variables saved in the cache have kept the same
# value.
ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
+for ac_var in `(set) 2>&1 |
+ sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
eval ac_old_set=\$ac_cv_env_${ac_var}_set
eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
+ eval ac_old_val="\$ac_cv_env_${ac_var}_value"
+ eval ac_new_val="\$ac_env_${ac_var}_value"
case $ac_old_set,$ac_new_set in
set,)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
ac_cache_corrupted=: ;;
,set)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
ac_cache_corrupted=: ;;
,);;
*)
if test "x$ac_old_val" != "x$ac_new_val"; then
- # differences in whitespace do not lead to failure.
- ac_old_val_w=`echo x $ac_old_val`
- ac_new_val_w=`echo x $ac_new_val`
- if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- ac_cache_corrupted=:
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
- eval $ac_var=\$ac_old_val
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
-$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
-$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
+ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
+echo "$as_me: former value: $ac_old_val" >&2;}
+ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
+echo "$as_me: current value: $ac_new_val" >&2;}
+ ac_cache_corrupted=:
fi;;
esac
# Pass precious variables to config.status.
if test "$ac_new_set" = set; then
case $ac_new_val in
- *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+ ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
*) ac_arg=$ac_var=$ac_new_val ;;
esac
case " $ac_configure_args " in
*" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
esac
fi
done
if $ac_cache_corrupted; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+ { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { (exit 1); exit 1; }; }
fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@@ -1746,6 +1231,23 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -1754,10 +1256,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -1767,37 +1269,35 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
- done
-IFS=$as_save_IFS
+done
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+ echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
-
fi
if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
@@ -1807,50 +1307,39 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
- done
-IFS=$as_save_IFS
+done
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
+ echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
+ CC=$ac_ct_CC
else
CC="$ac_cv_prog_CC"
fi
if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -1860,37 +1349,77 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
- done
-IFS=$as_save_IFS
+done
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+ echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
-
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="cc"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
fi
+done
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ CC=$ac_ct_CC
+else
+ CC="$ac_cv_prog_CC"
+fi
+
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
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -1901,19 +1430,18 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
fi
ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
- done
-IFS=$as_save_IFS
+done
if test $ac_prog_rejected = yes; then
# We found a bogon in the path, so make sure we never use it.
@@ -1931,25 +1459,24 @@ fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+ echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
-
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
+ for ac_prog in cl
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -1959,41 +1486,39 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
- done
-IFS=$as_save_IFS
+done
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+ echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
-
test -n "$CC" && break
done
fi
if test -z "$CC"; then
ac_ct_CC=$CC
- for ac_prog in cl.exe
+ for ac_prog in cl
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
@@ -2003,78 +1528,66 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
- done
-IFS=$as_save_IFS
+done
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
+ echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
-
test -n "$ac_ct_CC" && break
done
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
+ CC=$ac_ct_CC
fi
fi
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5 ; }
+test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&5
+echo "$as_me: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+echo "$as_me:$LINENO:" \
+ "checking for C compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
+ (eval $ac_compiler --version </dev/null >&5) 2>&5
ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
+ (eval $ac_compiler -v </dev/null >&5) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
+ (eval $ac_compiler -V </dev/null >&5) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
@@ -2086,108 +1599,112 @@ main ()
}
_ACEOF
ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+ac_clean_files="$ac_clean_files a.out a.exe b.out"
# Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition
# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link_default") 2>&5
+echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6
+ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
+ (eval $ac_link_default) 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Find the output, starting from the most likely. This scheme is
+# not robust to junk in `.', hence go to wildcards (a.*) only as a last
+# resort.
+
+# Be careful to initialize this variable, since it used to be cached.
+# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
+ac_cv_exeext=
+# b.out is created by i960 compilers.
+for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
do
test -f "$ac_file" || continue
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
+ ;;
+ conftest.$ac_ext )
+ # This is the source file.
;;
[ab].out )
# We found the default executable, but exeext='' is most
# certainly right.
break;;
*.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ # FIXME: I believe we export ac_cv_exeext for Libtool,
+ # but it would be cool to find out if it's true. Does anybody
+ # maintain Libtool? --akim.
+ export ac_cv_exeext
break;;
* )
break;;
esac
done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
else
- ac_file=''
-fi
-if test -z "$ac_file"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
+ echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5 ; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
+See \`config.log' for more details." >&5
+echo "$as_me: error: C compiler cannot create executables
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
+
ac_exeext=$ac_cv_exeext
+echo "$as_me:$LINENO: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6
+
+# Check the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+# If not cross compiling, check that we can run a simple program.
+if test "$cross_compiling" != yes; then
+ if { ac_try='./$ac_file'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ fi
+fi
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+rm -f a.out a.exe conftest$ac_cv_exeext b.out
ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
+# Check the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
+echo "$as_me:$LINENO: result: $cross_compiling" >&5
+echo "${ECHO_T}$cross_compiling" >&6
+
+echo "$as_me:$LINENO: checking for suffix of executables" >&5
+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
# If both `conftest.exe' and `conftest' are `present' (well, observable)
# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
# work properly (i.e., refer to `conftest.exe'), while it won't with
@@ -2195,90 +1712,38 @@ $as_echo "$ac_try_echo"; } >&5
for ac_file in conftest.exe conftest conftest.*; do
test -f "$ac_file" || continue
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
*.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ export ac_cv_exeext
break;;
* ) break;;
esac
done
else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5 ; }
+ { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
+
+rm -f conftest$ac_cv_exeext
+echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+echo "${ECHO_T}$ac_cv_exeext" >&6
rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
- { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if { ac_try='./conftest$ac_cv_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5 ; }
- fi
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
- $as_echo_n "(cached) " >&6
+echo "$as_me:$LINENO: checking for suffix of object files" >&5
+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
+if test "${ac_cv_objext+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
@@ -2290,46 +1755,45 @@ main ()
}
_ACEOF
rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>&5
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- for ac_file in conftest.o conftest.obj conftest.*; do
- test -f "$ac_file" || continue;
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
*) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
break;;
esac
done
else
- $as_echo "$as_me: failed program was:" >&5
+ echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5 ; }
+{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
fi
+
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
+echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+echo "${ECHO_T}$ac_cv_objext" >&6
OBJEXT=$ac_cv_objext
ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
+echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+if test "${ac_cv_c_compiler_gnu+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
@@ -2343,49 +1807,54 @@ main ()
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
ac_compiler_gnu=yes
else
- ac_compiler_gnu=no
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_compiler_gnu=no
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
- GCC=yes
-else
- GCC=
-fi
+echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+GCC=`test $ac_compiler_gnu = yes && echo yes`
ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
+CFLAGS="-g"
+echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+if test "${ac_cv_prog_cc_g+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-else
- CFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
@@ -2396,34 +1865,38 @@ main ()
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_prog_cc_g=yes
else
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
+ac_cv_prog_cc_g=no
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
+echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
if test "$ac_test_CFLAGS" = set; then
CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
@@ -2439,14 +1912,18 @@ else
CFLAGS=
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
- $as_echo_n "(cached) " >&6
+echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
+echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
+if test "${ac_cv_prog_cc_stdc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
- ac_cv_prog_cc_c89=no
+ ac_cv_prog_cc_stdc=no
ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <stdarg.h>
#include <stdio.h>
@@ -2474,17 +1951,12 @@ static char *f (char * (*g) (char **, int), char **p, ...)
/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
function prototypes and stuff, but not '\xHH' hex character constants.
These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
+ as 'x'. The following induces an error, until -std1 is added to get
proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
+ that's true only with -std1. */
int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
int test (int i, double x);
struct s1 {int (*f) (int a);};
struct s2 {int (*f) (double a);};
@@ -2499,37 +1971,201 @@ return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
return 0;
}
_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+# Don't try gcc -ansi; that turns off useful extensions and
+# breaks some systems' header files.
+# AIX -qlanglvl=ansi
+# Ultrix and OSF/1 -std1
+# HP-UX 10.20 and later -Ae
+# HP-UX older versions -Aa -D_HPUX_SOURCE
+# SVR4 -Xc -D__EXTENSIONS__
+for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
do
CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_c89=$ac_arg
+ rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_prog_cc_stdc=$ac_arg
+break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
+rm -f conftest.err conftest.$ac_objext
done
-rm -f conftest.$ac_ext
+rm -f conftest.$ac_ext conftest.$ac_objext
CC=$ac_save_CC
fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
+
+case "x$ac_cv_prog_cc_stdc" in
+ x|xno)
+ echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6 ;;
*)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
+ CC="$CC $ac_cv_prog_cc_stdc" ;;
esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
+# Some people use a C++ compiler to compile C. Since we use `exit',
+# in C++ we need to declare it. In case someone uses the same compiler
+# for both compiling C and C++ we need to have the C++ compiler decide
+# the declaration of exit, since it's the most demanding environment.
+cat >conftest.$ac_ext <<_ACEOF
+#ifndef __cplusplus
+ choke me
+#endif
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ for ac_declaration in \
+ '' \
+ 'extern "C" void std::exit (int) throw (); using std::exit;' \
+ 'extern "C" void std::exit (int); using std::exit;' \
+ 'extern "C" void exit (int) throw ();' \
+ 'extern "C" void exit (int);' \
+ 'void exit (int);'
+do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_declaration
+#include <stdlib.h>
+int
+main ()
+{
+exit (42);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+continue
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_declaration
+int
+main ()
+{
+exit (42);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+rm -f conftest*
+if test -n "$ac_declaration"; then
+ echo '#ifdef __cplusplus' >>confdefs.h
+ echo $ac_declaration >>confdefs.h
+ echo '#endif' >>confdefs.h
fi
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -2541,15 +2177,15 @@ ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
+echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
fi
if test -z "$CPP"; then
- if ${ac_cv_prog_CPP+:} false; then :
- $as_echo_n "(cached) " >&6
+ if test "${ac_cv_prog_CPP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
# Double quotes because CPP needs to be expanded
for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
@@ -2563,7 +2199,11 @@ do
# <limits.h> exists even on freestanding compilers.
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#ifdef __STDC__
# include <limits.h>
@@ -2572,34 +2212,78 @@ do
#endif
Syntax error
_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+ else
+ ac_cpp_err=
+ fi
else
+ ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
# Broken: fails on valid input.
continue
fi
-rm -f conftest.err conftest.i conftest.$ac_ext
+rm -f conftest.err conftest.$ac_ext
- # OK, works on sane cases. Now check whether nonexistent headers
+ # OK, works on sane cases. Now check whether non-existent headers
# can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+ else
+ ac_cpp_err=
+ fi
+else
+ ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
# Broken: success on invalid input.
continue
else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
# Passes both tests.
ac_preproc_ok=:
break
fi
-rm -f conftest.err conftest.i conftest.$ac_ext
+rm -f conftest.err conftest.$ac_ext
done
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
break
fi
@@ -2611,8 +2295,8 @@ fi
else
ac_cv_prog_CPP=$CPP
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
+echo "$as_me:$LINENO: result: $CPP" >&5
+echo "${ECHO_T}$CPP" >&6
ac_preproc_ok=false
for ac_c_preproc_warn_flag in '' yes
do
@@ -2622,7 +2306,11 @@ do
# <limits.h> exists even on freestanding compilers.
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#ifdef __STDC__
# include <limits.h>
@@ -2631,40 +2319,85 @@ do
#endif
Syntax error
_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+ else
+ ac_cpp_err=
+ fi
else
+ ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
# Broken: fails on valid input.
continue
fi
-rm -f conftest.err conftest.i conftest.$ac_ext
+rm -f conftest.err conftest.$ac_ext
- # OK, works on sane cases. Now check whether nonexistent headers
+ # OK, works on sane cases. Now check whether non-existent headers
# can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+ else
+ ac_cpp_err=
+ fi
+else
+ ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
# Broken: success on invalid input.
continue
else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
# Passes both tests.
ac_preproc_ok=:
break
fi
-rm -f conftest.err conftest.i conftest.$ac_ext
+rm -f conftest.err conftest.$ac_ext
done
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+ :
else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5 ; }
+ { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&5
+echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
fi
ac_ext=c
@@ -2676,10 +2409,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test -n "$ac_tool_prefix"; then
# 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
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
- $as_echo_n "(cached) " >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_AR+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -n "$AR"; then
ac_cv_prog_AR="$AR" # Let the user override the test.
@@ -2689,37 +2422,35 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_AR="${ac_tool_prefix}ar"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
- done
-IFS=$as_save_IFS
+done
fi
fi
AR=$ac_cv_prog_AR
if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
+ echo "$as_me:$LINENO: result: $AR" >&5
+echo "${ECHO_T}$AR" >&6
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
-
fi
if test -z "$ac_cv_prog_AR"; then
ac_ct_AR=$AR
# Extract the first word of "ar", so it can be a program name with args.
set dummy ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
- $as_echo_n "(cached) " >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -n "$ac_ct_AR"; then
ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
@@ -2729,45 +2460,33 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_AR="ar"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
- done
-IFS=$as_save_IFS
+done
fi
fi
ac_ct_AR=$ac_cv_prog_ac_ct_AR
if test -n "$ac_ct_AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
+ echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
+echo "${ECHO_T}$ac_ct_AR" >&6
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
fi
- if test "x$ac_ct_AR" = x; then
- AR=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- AR=$ac_ct_AR
- fi
+ AR=$ac_ct_AR
else
AR="$ac_cv_prog_AR"
fi
-ac_config_files="$ac_config_files Makefile"
-
+ ac_config_files="$ac_config_files Makefile"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
@@ -2786,70 +2505,39 @@ _ACEOF
# The following way of writing the cache mishandles newlines in values,
# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
+# 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.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
-
+{
(set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes: double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \.
+ 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 \
"s/'/'\\\\''/g;
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
+ ;;
*)
# `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
;;
- esac |
- sort
-) |
+ esac;
+} |
sed '
- /^ac_cv_env_/b end
t clear
- :clear
+ : clear
s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- if test "x$cache_file" != "x/dev/null"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
- if test ! -f "$cache_file" || test -h "$cache_file"; then
- cat confcache >"$cache_file"
- else
- case $cache_file in #(
- */* | ?:*)
- mv -f confcache "$cache_file"$$ &&
- mv -f "$cache_file"$$ "$cache_file" ;; #(
- *)
- mv -f confcache "$cache_file" ;;
- esac
- fi
- fi
+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ : end' >>confcache
+if diff $cache_file confcache >/dev/null 2>&1; then :; else
+ if test -w $cache_file; then
+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ cat confcache >$cache_file
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ echo "not updating unwritable cache $cache_file"
fi
fi
rm -f confcache
@@ -2858,55 +2546,63 @@ test "x$prefix" = xNONE && prefix=$ac_default_prefix
# Let make expand exec_prefix.
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ ]*$//;
+}'
+fi
+
# Transform confdefs.h into DEFS.
# Protect against shell expansion while executing Makefile rules.
# Protect against Makefile macro expansion.
#
# If the first sed substitution is executed (which looks for macros that
-# take arguments), then branch to the quote section. Otherwise,
+# take arguments), then we branch to the quote section. Otherwise,
# look for a macro that doesn't take arguments.
-ac_script='
-:mline
-/\\$/{
- N
- s,\\\n,,
- b mline
-}
+cat >confdef2opt.sed <<\_ACEOF
t clear
-:clear
-s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g
t quote
-s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g
t quote
-b any
-:quote
-s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g
-s/\[/\\&/g
-s/\]/\\&/g
-s/\$/$$/g
-H
-:any
-${
- g
- s/^\n//
- s/\n/ /g
- p
-}
-'
-DEFS=`sed -n "$ac_script" confdefs.h`
+d
+: quote
+s,[ `~#$^&*(){}\\|;'"<>?],\\&,g
+s,\[,\\&,g
+s,\],\\&,g
+s,\$,$$,g
+p
+_ACEOF
+# We use echo to avoid assuming a particular line-breaking character.
+# The extra dot is to prevent the shell from consuming trailing
+# line-breaks from the sub-command output. A line-break within
+# single-quotes doesn't work because, if this script is created in a
+# platform that uses two characters for line-breaks (e.g., DOS), tr
+# would break.
+ac_LF_and_DOT=`echo; echo .`
+DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
+rm -f confdef2opt.sed
ac_libobjs=
ac_ltlibobjs=
-U=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
+ ac_i=`echo "$ac_i" |
+ sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
+ # 2. Add them.
+ ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
+ ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
done
LIBOBJS=$ac_libobjs
@@ -2914,14 +2610,12 @@ LTLIBOBJS=$ac_ltlibobjs
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
+: ${CONFIG_STATUS=./config.status}
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
#! $SHELL
# Generated by $as_me.
# Run this file to recreate the current configuration.
@@ -2931,253 +2625,81 @@ cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
debug=false
ac_cs_recheck=false
ac_cs_silent=false
-
SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
fi
+DUALCASE=1; export DUALCASE # for MKS sh
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
fi
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
PS1='$ '
PS2='> '
PS4='+ '
# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ $as_unset $as_var
fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
+done
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
as_expr=expr
else
as_expr=false
fi
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
fi
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-as_me=`$as_basename -- "$0" ||
+# Name of the executable.
+as_me=`$as_basename "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
+ X"$0" : 'X\(/\)$' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+ /^X\/\(\/\/\)$/{ s//\1/; q; }
+ /^X\/\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+
+# PATH needs CR, and LINENO needs CR and PATH.
# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
@@ -3185,123 +2707,148 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" || {
+ # Find who we are. Look in the path if we contain no path at all
+ # relative or not.
+ case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+ ;;
+ esac
+ # We did not find ourselves, most probably we were run as `sh COMMAND'
+ # in which case we are not to be found in the path.
+ if test "x$as_myself" = x; then
+ as_myself=$0
+ fi
+ if test ! -f "$as_myself"; then
+ { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
+echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ case $CONFIG_SHELL in
+ '')
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for as_base in sh bash ksh sh5; do
+ case $as_dir in
+ /*)
+ if ("$as_dir/$as_base" -c '
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
+ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+ CONFIG_SHELL=$as_dir/$as_base
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+ fi;;
+ esac
+ done
+done
+;;
+ esac
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line before each line; the second 'sed' does the real
+ # work. The second script uses 'N' to pair each line-number line
+ # with the numbered line, and appends trailing '-' during
+ # substitution so that $LINENO is not a special case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
+ sed '=' <$as_myself |
+ sed '
+ N
+ s,$,-,
+ : loop
+ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ t loop
+ s,-$,,
+ s,^['$as_cr_digits']*\n,,
+ ' >$as_me.lineno &&
+ chmod +x $as_me.lineno ||
+ { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
+echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensible to this).
+ . ./$as_me.lineno
+ # Exit status is that of the last command.
+ exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+ *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T=' ' ;;
+ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+ *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
esac
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
+ as_expr=false
fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
else
as_ln_s='cp -p'
fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
+rm -f conf$$ conf$$.exe conf$$.file
-} # as_fn_mkdir_p
if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
+ as_mkdir_p=:
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
+as_executable_p="test -f"
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -3310,20 +2857,31 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
+
+# Open the log real soon, to keep \$[0] and so on meaningful, and to
# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
+# values after options handling. Logging --version etc. is OK.
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+} >&5
+cat >&5 <<_CSEOF
+
This file was extended by $as_me, which was
-generated by GNU Autoconf 2.68. Invocation command line was
+generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -3331,116 +2889,124 @@ generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_COMMANDS = $CONFIG_COMMANDS
$ $0 $@
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
+_CSEOF
+echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
+echo >&5
_ACEOF
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+if test -n "$ac_config_headers"; then
+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+if test -n "$ac_config_links"; then
+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
+if test -n "$ac_config_commands"; then
+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
-_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration. Unless the files
-and actions are specified as TAGs, all are instantiated by default.
+\`$as_me' instantiates files from templates according to the
+current configuration.
-Usage: $0 [OPTION]... [TAG]...
+Usage: $0 [OPTIONS] [FILE]...
-h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- --config print configuration, then exit
- -q, --quiet, --silent
- do not print progress messages
+ -V, --version print version number, then exit
+ -q, --quiet do not print progress messages
-d, --debug don't remove temporary files
--recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
Configuration files:
$config_files
-Report bugs to the package provider."
-
+Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+
+cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
config.status
-configured by $0, generated by GNU Autoconf 2.68,
- with options \\"\$ac_cs_config\\"
+configured by $0, generated by GNU Autoconf 2.59,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2003 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-test -n "\$AWK" || AWK=awk
+srcdir=$srcdir
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
ac_need_defaults=:
while test $# != 0
do
case $1 in
- --*=?*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ --*=*)
+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
ac_shift=:
;;
- --*=)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=
- ac_shift=:
- ;;
- *)
+ -*)
ac_option=$1
ac_optarg=$2
ac_shift=shift
;;
+ *) # This is not an option, so the user has probably given explicit
+ # arguments.
+ ac_option=$1
+ ac_need_defaults=false;;
esac
case $ac_option in
# Handling of the options.
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- $as_echo "$ac_cs_version"; exit ;;
- --config | --confi | --conf | --con | --co | --c )
- $as_echo "$ac_cs_config"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
+ --version | --vers* | -V )
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+ { { echo "$as_me:$LINENO: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
debug=: ;;
--file | --fil | --fi | --f )
$ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- '') as_fn_error $? "missing file argument" ;;
- esac
- as_fn_append CONFIG_FILES " '$ac_optarg'"
+ CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ $ac_shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
ac_need_defaults=false;;
- --he | --h | --help | --hel | -h )
- $as_echo "$ac_cs_usage"; exit ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil | --si | --s)
ac_cs_silent=: ;;
# This is an error.
- -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
+ -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; } ;;
- *) as_fn_append ac_config_targets " $1"
- ac_need_defaults=false ;;
+ *) ac_config_targets="$ac_config_targets $1" ;;
esac
shift
@@ -3454,44 +3020,30 @@ if $ac_cs_silent; then
fi
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>$CONFIG_STATUS <<_ACEOF
if \$ac_cs_recheck; then
- set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- shift
- \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
- CONFIG_SHELL='$SHELL'
- export CONFIG_SHELL
- exec "\$@"
+ echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+ exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
fi
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
- $as_echo "$ac_log"
-} >&5
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Handling of arguments.
+
+
+cat >>$CONFIG_STATUS <<\_ACEOF
for ac_config_target in $ac_config_targets
do
- case $ac_config_target in
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;;
+ case "$ac_config_target" in
+ # Handling of arguments.
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
esac
done
-
# If the user did not use the arguments to specify the items to instantiate,
# then the envvar interface is used. Set only those that are not.
# We use the long form for the default assignment because of an extremely
@@ -3501,414 +3053,328 @@ if $ac_need_defaults; then
fi
# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
+# simply because there is no reason to put it here, and in addition,
# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
+# Create a temporary directory, and hook for its removal unless debugging.
$debug ||
{
- tmp= ac_tmp=
- trap 'exit_status=$?
- : "${ac_tmp:=$tmp}"
- { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
- trap 'as_fn_exit 1' 1 2 13 15
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
}
+
# Create a (secure) tmp directory for tmp files.
{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -d "$tmp"
+ tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
} ||
{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
- eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\\r'
-else
- ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
- echo "cat >conf$$subs.awk <<_ACEOF" &&
- echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
- echo "_ACEOF"
-} >conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- . ./conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
- ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
- if test $ac_delim_n = $ac_delim_num; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
- N
- s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
- for (key in S) S_is_set[key] = 1
- FS = ""
-
-}
+ tmp=./confstat$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
{
- line = $ 0
- nfields = split(line, field, "@")
- substed = 0
- len = length(field[1])
- for (i = 2; i < nfields; i++) {
- key = field[i]
- keylen = length(key)
- if (S_is_set[key]) {
- value = S[key]
- line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
- len += length(value) + length(field[++i])
- substed = 1
- } else
- len += 1 + keylen
- }
-
- print line
+ echo "$me: cannot create a temporary directory in ." >&2
+ { (exit 1); exit 1; }
}
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
- sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
- cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
- || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
_ACEOF
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
-h
-s///
-s/^/:/
-s/[ ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[ ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
+cat >>$CONFIG_STATUS <<_ACEOF
+#
+# CONFIG_FILES section.
+#
-eval set X " :F $CONFIG_FILES "
-shift
-for ac_tag
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+ # Protect against being on the right side of a sed subst in config.status.
+ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@DEFS@,$DEFS,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@LIBS@,$LIBS,;t t
+s,@CC@,$CC,;t t
+s,@CFLAGS@,$CFLAGS,;t t
+s,@LDFLAGS@,$LDFLAGS,;t t
+s,@CPPFLAGS@,$CPPFLAGS,;t t
+s,@ac_ct_CC@,$ac_ct_CC,;t t
+s,@EXEEXT@,$EXEEXT,;t t
+s,@OBJEXT@,$OBJEXT,;t t
+s,@CPP@,$CPP,;t t
+s,@AR@,$AR,;t t
+s,@ac_ct_AR@,$ac_ct_AR,;t t
+s,@LIBOBJS@,$LIBOBJS,;t t
+s,@LTLIBOBJS@,$LTLIBOBJS,;t t
+CEOF
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$ac_tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;;
- esac
- case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
- as_fn_append ac_file_inputs " '$ac_f'"
- done
+_ACEOF
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input='Generated from '`
- $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
- `' by configure.'
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
+ cat >>$CONFIG_STATUS <<\_ACEOF
+ # 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_lines=48
+ ac_sed_frag=1 # Number of current file.
+ ac_beg=1 # First line for current file.
+ ac_end=$ac_max_sed_lines # 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" $tmp/subs.sed >$tmp/subs.frag
+ else
+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
fi
- # Neutralize special characters interpreted by sed in replacement strings.
- case $configure_input in #(
- *\&* | *\|* | *\\* )
- ac_sed_conf_input=`$as_echo "$configure_input" |
- sed 's/[\\\\&|]/\\\\&/g'`;; #(
- *) ac_sed_conf_input=$configure_input;;
- esac
+ if test ! -s $tmp/subs.frag; then
+ ac_more_lines=false
+ else
+ # The purpose of the label and of the branching condition is to
+ # speed up the sed processing (if there are no `@' at all, there
+ # is no need to browse any of the substitutions).
+ # These are the two extra sed commands mentioned above.
+ (echo ':t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ fi
+ ac_sed_frag=`expr $ac_sed_frag + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+ done
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+ fi
+fi # test -n "$CONFIG_FILES"
- case $ac_tag in
- *:-:* | *:-) cat >"$ac_tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
- esac
- ;;
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
esac
- ac_dir=`$as_dirname -- "$ac_file" ||
+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+ ac_dir=`(dirname "$ac_file") 2>/dev/null ||
$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$ac_file" : 'X\(//\)[^/]' \| \
X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir="$ac_dir"; as_fn_mkdir_p
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ { if $as_mkdir_p; then
+ mkdir -p "$ac_dir"
+ else
+ as_dir="$ac_dir"
+ as_dirs=
+ while test ! -d "$as_dir"; do
+ as_dirs="$as_dir $as_dirs"
+ as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ done
+ test ! -n "$as_dirs" || mkdir $as_dirs
+ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+ { (exit 1); exit 1; }; }; }
+
ac_builddir=.
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
+if test "$ac_dir" != .; then
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+ ac_dir_suffix= ac_top_builddir=
+fi
case $srcdir in
- .) # We are building in place.
+ .) # No --srcdir option. We are building in place.
ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
+ if test -z "$ac_top_builddir"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* ) # Absolute path.
ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_builddir$srcdir ;;
esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+ case "$ac_dir" in
+ .) ac_abs_builddir=`pwd`;;
+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+ *) ac_abs_builddir=`pwd`/"$ac_dir";;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+ case ${ac_top_builddir}. in
+ .) ac_abs_top_builddir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+ case $ac_srcdir in
+ .) ac_abs_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+ case $ac_top_srcdir in
+ .) ac_abs_top_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+ esac;;
+esac
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ if test x"$ac_file" = x-; then
+ configure_input=
+ else
+ configure_input="$ac_file. "
+ fi
+ configure_input=$configure_input"Generated from `echo $ac_file_in |
+ sed 's,.*/,,'` by configure."
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo "$f";;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo "$f"
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo "$srcdir/$f"
+ else
+ # /dev/null tree
+ { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+ sed "$ac_vpsub
$extrasub
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+cat >>$CONFIG_STATUS <<\_ACEOF
:t
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
- >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
- "$ac_tmp/out"`; test -z "$ac_out"; } &&
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&2;}
-
- rm -f "$ac_tmp/stdin"
- case $ac_file in
- -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
- *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
- esac \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
-
-
-
- esac
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@abs_srcdir@,$ac_abs_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
+s,@builddir@,$ac_builddir,;t t
+s,@abs_builddir@,$ac_abs_builddir,;t t
+s,@top_builddir@,$ac_top_builddir,;t t
+s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+ mv $tmp/out $ac_file
+ else
+ cat $tmp/out
+ rm -f $tmp/out
+ fi
-done # for ac_tag
+done
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
-as_fn_exit 0
+{ (exit 0); exit 0; }
_ACEOF
+chmod +x $CONFIG_STATUS
ac_clean_files=$ac_clean_files_save
-test $ac_write_fail = 0 ||
- as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
# configure is writing to config.log, and then calls config.status.
# config.status does its own redirection, appending to config.log.
@@ -3928,10 +3394,6 @@ if test "$no_create" != yes; then
exec 5>>config.log
# Use ||, not &&, to avoid exiting from the if with $? = 1, which
# would make configure fail if this is the last instruction.
- $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+ $ac_cs_success || { (exit 1); exit 1; }
fi
diff --git a/winsup/utils/ChangeLog b/winsup/utils/ChangeLog
index 3286cf432..50a957ae4 100644
--- a/winsup/utils/ChangeLog
+++ b/winsup/utils/ChangeLog
@@ -1,63 +1,3 @@
-2012-07-11 Corinna Vinschen <corinna@vinschen.de>
-
- * Makefile.in (cygcheck.exe): Link against psapi.dll.
- * bloda.cc: Change include section to work with Mingw64 headers.
- Include psapi.h. Use SystemProcessInformation instead of
- SystemProcessesAndThreadsInformation throughout and add define for
- w32api headers. Ditto for PSYSTEM_PROCESS_INFORMATION vs.
- PSYSTEM_PROCESSES.
- (system_module_list): New type to replace SYSTEM_MODULE_INFORMATION.
- Change usage throughout accordingly.
- (get_module_list): Fetch module list using PSAPI functions
- EnumDeviceDrivers and GetDeviceDriverBaseNameA.
- * cygcheck.cc (max): Define as __max if not defined already.
- (alloca): Only define if not defined already.
- (handle_unique_object_name): Use explicit sharing flags rather than
- FILE_SHARE_VALID_FLAGS which officially is only available in DDK
- headers.
- (PRODUCT_ULTIMATE_E): Only define if not defined already.
- * dump_setup.cc: Change include section to work with Mingw64 headers.
- (NtQueryAttributesFile): Drop NTOSAPI aka DECLSPEC_IMPORT.
- * strace.cc: Change include section to work with Mingw64 headers.
- (alloca): Only define if not defined already.
-
-2012-07-06 Corinna Vinschen <corinna@vinschen.de>
-
- * cygpath.cc: Change including headers to allow building against
- Mingw64 headers. Include ntdef.h and ntdll.h rather than ddk headers.
- Define _WIN32_WINNT and WINVER as 0x0602.
- (RtlEqualUnicodePathPrefix): Drop definition. Pulled in from ntdll.h
- now.
- (get_device_name): s/Zw/Nt.
- * dumper.cc: Include sys/param.h
- (dumper::dump_memory_region): Use MIN rather than min.
- * locale.cc: Include stdlib.h. Define _WIN32_WINNT and WINVER as
- 0x0602.
- * ps.cc: Include ntdef.h and ntdll.h rather than ddk headers.
- * regtool.cc (regDeleteKeyEx): Drop WINADVAPI qualifier.
-
-2012-06-03 Corinna Vinschen <corinna@vinschen.de>
-
- * cygcheck.cc (dump_sysinfo): Change "Server 8" to official
- "Server 2012".
-
-2012-05-05 Corinna Vinschen <corinna@vinschen.de>
-
- * mkpasswd.c (current_user): Actually *use* $HOME if it's available.
- Add comment to explain what we're doing here.
-
-2012-04-05 Corinna Vinschen <corinna@vinschen.de>
-
- * mkgroup.c (print_special_by_sid): Rename from print_special. Change
- calls throughout.
- (print_special_by_name): New function.
- (main): Call print_special_by_name for TrustedInstaller account.
- * mkpasswd.c (print_special_by_sid): Rename from print_special. Change
- calls throughout.
- (print_special_by_name): New function.
- (enum_std_accounts): Call print_special_by_name for TrustedInstaller
- account.
-
2012-02-24 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
* pldd.c: Fix typo in license header.
diff --git a/winsup/utils/Makefile.in b/winsup/utils/Makefile.in
index f3030a175..25ee5c48a 100644
--- a/winsup/utils/Makefile.in
+++ b/winsup/utils/Makefile.in
@@ -74,7 +74,7 @@ path-mount.o: path.cc
mount.exe: path-mount.o
# Provide any necessary per-target variable overrides.
-cygcheck.exe: MINGW_LDFLAGS += -lpsapi -lntdll
+cygcheck.exe: MINGW_LDFLAGS += -lntdll
cygpath.exe: ALL_LDFLAGS += -lcygwin -luserenv -lntdll
cygpath.exe: CXXFLAGS += -fno-threadsafe-statics
ps.exe: ALL_LDFLAGS += -lcygwin -lpsapi -lntdll
diff --git a/winsup/utils/bloda.cc b/winsup/utils/bloda.cc
index dcb18f1a4..2cd799aea 100644
--- a/winsup/utils/bloda.cc
+++ b/winsup/utils/bloda.cc
@@ -11,23 +11,10 @@
#define cygwin_internal cygwin_internal_dontuse
#include <stdio.h>
#include <assert.h>
-#define WIN32_NO_STATUS /* Disable status codes in winnt.h since we include
- ntstatus.h for extended status codes below. */
#include <windows.h>
-#undef WIN32_NO_STATUS
-#include <psapi.h>
-#ifndef __MINGW64_VERSION_MAJOR
-# include <ntdef.h>
-# include <ddk/ntstatus.h>
-# include <ddk/ntapi.h>
-# define SystemProcessInformation SystemProcessesAndThreadsInformation
-# define PSYSTEM_PROCESS_INFORMATION PSYSTEM_PROCESSES
-# define ImageName ProcessName
-# define NextEntryOffset NextEntryDelta
-#else
-# include <winternl.h>
-# include <ntstatus.h>
-#endif
+#include <ntdef.h>
+#include <ddk/ntstatus.h>
+#include <ddk/ntapi.h>
#undef cygwin_internal
#undef DEBUGGING
@@ -121,77 +108,68 @@ static struct bad_app_info big_list_of_dodgy_apps[] =
static const size_t num_of_dodgy_apps = sizeof (big_list_of_dodgy_apps) / sizeof (big_list_of_dodgy_apps[0]);
-struct system_module_list
-{
- LONG count;
- PVOID *pid;
- PCHAR *name;
-};
-
-static PSYSTEM_PROCESS_INFORMATION
+static PSYSTEM_PROCESSES
get_process_list (void)
{
int n_procs = 0x100;
- PSYSTEM_PROCESS_INFORMATION pslist = (PSYSTEM_PROCESS_INFORMATION) malloc (n_procs * sizeof *pslist);
+ PSYSTEM_PROCESSES pslist = (PSYSTEM_PROCESSES) malloc (n_procs * sizeof *pslist);
- while (NtQuerySystemInformation (SystemProcessInformation,
+ while (NtQuerySystemInformation (SystemProcessesAndThreadsInformation,
pslist, n_procs * sizeof *pslist, 0) == STATUS_INFO_LENGTH_MISMATCH)
{
n_procs *= 2;
free (pslist);
- pslist = (PSYSTEM_PROCESS_INFORMATION) malloc (n_procs * sizeof *pslist);
+ pslist = (PSYSTEM_PROCESSES) malloc (n_procs * sizeof *pslist);
}
return pslist;
}
-static system_module_list *
+static PSYSTEM_MODULE_INFORMATION
get_module_list (void)
{
- DWORD modsize = 0;
- system_module_list *modlist = (system_module_list *)
- calloc (1, sizeof (system_module_list));
- while (!EnumDeviceDrivers (modlist->pid, modsize, &modsize))
- {
- free (modlist->pid);
- free (modlist->name);
- modlist->count = modsize / sizeof (PVOID);
- modlist->pid = (PVOID *) calloc (modlist->count, sizeof (PVOID));
- modlist->name = (PCHAR *) calloc (modlist->count, sizeof (PCHAR));
- }
- for (int i = 0; i < modlist->count; ++i)
+ int modsize = 0x1000;
+ PSYSTEM_MODULE_INFORMATION modlist = (PSYSTEM_MODULE_INFORMATION) malloc (modsize);
+
+ while (NtQuerySystemInformation (SystemModuleInformation,
+ modlist, modsize, NULL) == STATUS_INFO_LENGTH_MISMATCH)
{
- modlist->name[0] = (PCHAR) calloc (256, sizeof (CHAR));
- GetDeviceDriverBaseNameA (modlist->pid[i], modlist->name[i], 256);
+ modsize *= 2;
+ free (modlist);
+ modlist = (PSYSTEM_MODULE_INFORMATION) malloc (modsize);
}
return modlist;
}
static bool
-find_process_in_list (PSYSTEM_PROCESS_INFORMATION pslist, PUNICODE_STRING psname)
+find_process_in_list (PSYSTEM_PROCESSES pslist, PUNICODE_STRING psname)
{
while (1)
{
- if (pslist->ImageName.Length && pslist->ImageName.Buffer)
+ if (pslist->ProcessName.Length && pslist->ProcessName.Buffer)
{
- dbg_printf (("%S\n", pslist->ImageName.Buffer));
- if (!_wcsicmp (pslist->ImageName.Buffer, psname->Buffer))
+ dbg_printf (("%S\n", pslist->ProcessName.Buffer));
+ if (!_wcsicmp (pslist->ProcessName.Buffer, psname->Buffer))
return true;
}
- if (!pslist->NextEntryOffset)
+ if (!pslist->NextEntryDelta)
break;
- pslist = (PSYSTEM_PROCESS_INFORMATION)(pslist->NextEntryOffset + (char *)pslist);
+ pslist = (PSYSTEM_PROCESSES)(pslist->NextEntryDelta + (char *)pslist);
};
return false;
}
static bool
-find_module_in_list (system_module_list * modlist, const char * const modname)
+find_module_in_list (PSYSTEM_MODULE_INFORMATION modlist, const char * const modname)
{
- for (int i = 0; i < modlist->count; ++i)
+ PSYSTEM_MODULE_INFORMATION_ENTRY modptr = &modlist->Module[0];
+ DWORD count = modlist->Count;
+ while (count--)
{
- dbg_printf (("name '%s' ", modlist->name[i]));
- if (!_stricmp (modlist->name[i], modname))
+ dbg_printf (("name '%s' offset %d ", &modptr->ImageName[0], modptr->PathLength));
+ dbg_printf (("= '%s'\n", &modptr->ImageName[modptr->PathLength]));
+ if (!_stricmp (&modptr->ImageName[modptr->PathLength], modname))
return true;
+ modptr++;
}
return false;
}
@@ -255,7 +233,7 @@ expand_path (const char *path, char *outbuf)
}
static bool
-detect_dodgy_app (const struct bad_app_det *det, PSYSTEM_PROCESS_INFORMATION pslist, system_module_list * modlist)
+detect_dodgy_app (const struct bad_app_det *det, PSYSTEM_PROCESSES pslist, PSYSTEM_MODULE_INFORMATION modlist)
{
HANDLE fh;
HKEY hk;
@@ -356,8 +334,8 @@ void
dump_dodgy_apps (int verbose)
{
size_t i, n_det = 0;
- PSYSTEM_PROCESS_INFORMATION pslist;
- system_module_list * modlist;
+ PSYSTEM_PROCESSES pslist;
+ PSYSTEM_MODULE_INFORMATION modlist;
/* Read system info for detect testing. */
pslist = get_process_list ();
@@ -426,9 +404,6 @@ dump_dodgy_apps (int verbose)
}
/* Tidy up allocations. */
free (pslist);
- for (int i = 0; i < modlist->count; ++i)
- free (modlist->name[i]);
- free (modlist->name);
- free (modlist->pid);
+ free (modlist);
}
diff --git a/winsup/utils/cygcheck.cc b/winsup/utils/cygcheck.cc
index de45addd2..52411c881 100644
--- a/winsup/utils/cygcheck.cc
+++ b/winsup/utils/cygcheck.cc
@@ -1,7 +1,7 @@
/* cygcheck.cc
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -30,13 +30,7 @@
#undef cygwin_internal
#include "loadlib.h"
-#ifndef max
-#define max __max
-#endif
-
-#ifndef alloca
#define alloca __builtin_alloca
-#endif
int verbose = 0;
int registry = 0;
@@ -1320,7 +1314,7 @@ handle_unique_object_name (int opt, char *path)
if (opt == CO_SHOW_UON)
{
access = GENERIC_READ;
- share = FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE;
+ share = FILE_SHARE_VALID_FLAGS;
protect = PAGE_READONLY;
mapping = FILE_MAP_READ;
}
@@ -1442,7 +1436,7 @@ dump_sysinfo ()
else if (osversion.dwMinorVersion == 2)
{
strcpy (osname, osversion.wProductType == VER_NT_WORKSTATION
- ? "8" : "Server 2012");
+ ? "8" : "Server 8");
strcat (osname, " (not yet supported!)");
}
DWORD prod;
@@ -1453,9 +1447,7 @@ dump_sysinfo ()
&prod))
{
#define PRODUCT_UNLICENSED 0xabcdabcd
-#ifndef PRODUCT_ULTIMATE_E
#define PRODUCT_ULTIMATE_E 0x00000047
-#endif
const char *products[] =
{
/* 0x00000000 */ "",
diff --git a/winsup/utils/cygpath.cc b/winsup/utils/cygpath.cc
index 77ee38426..662112fe5 100644
--- a/winsup/utils/cygpath.cc
+++ b/winsup/utils/cygpath.cc
@@ -8,6 +8,10 @@ This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
+#define NOCOMATTRIBUTE
+
+#define WINVER 0x0600
+#include <shlobj.h>
#include <stdio.h>
#include <string.h>
#include <wchar.h>
@@ -15,22 +19,17 @@ details. */
#include <stdlib.h>
#include <limits.h>
#include <getopt.h>
+#include <windows.h>
+#include <userenv.h>
#include <io.h>
#include <sys/fcntl.h>
#include <sys/cygwin.h>
#include <cygwin/version.h>
#include <ctype.h>
#include <errno.h>
-
-#define _WIN32_WINNT 0x0602
-#define WINVER 0x0602
-#define NOCOMATTRIBUTE
-#include <windows.h>
-#include <userenv.h>
-#include <shlobj.h>
-#include <ntdef.h>
-#include <ntdll.h>
-
+#include <ddk/ntddk.h>
+#include <ddk/winddk.h>
+#include <ddk/ntifs.h>
#include "wide_path.h"
#include "loadlib.h"
@@ -149,6 +148,18 @@ RtlAllocateUnicodeString (PUNICODE_STRING uni, ULONG size)
return uni->Buffer != NULL;
}
+static inline BOOLEAN
+RtlEqualUnicodePathPrefix (PUNICODE_STRING path, PUNICODE_STRING prefix,
+ BOOLEAN caseinsensitive)
+ {
+ UNICODE_STRING p;
+
+ p.Length = p.MaximumLength = prefix->Length < path->Length
+ ? prefix->Length : path->Length;
+ p.Buffer = path->Buffer;
+ return RtlEqualUnicodeString (&p, prefix, caseinsensitive);
+ }
+
static size_t
my_wcstombs (char *dest, const wchar_t *src, size_t n)
{
@@ -192,11 +203,11 @@ get_device_name (char *path)
query it and use the new name as actual device name to search for in the
DOS device name directory. If not, just use the incoming device name. */
InitializeObjectAttributes (&ntobj, &ntdev, OBJ_CASE_INSENSITIVE, NULL, NULL);
- status = NtOpenSymbolicLinkObject (&lnk, SYMBOLIC_LINK_QUERY, &ntobj);
+ status = ZwOpenSymbolicLinkObject (&lnk, SYMBOLIC_LINK_QUERY, &ntobj);
if (NT_SUCCESS (status))
{
- status = NtQuerySymbolicLinkObject (lnk, &tgtdev, NULL);
- NtClose (lnk);
+ status = ZwQuerySymbolicLinkObject (lnk, &tgtdev, NULL);
+ ZwClose (lnk);
if (!NT_SUCCESS (status))
goto out;
RtlCopyUnicodeString (&ntdev, &tgtdev);
@@ -214,28 +225,28 @@ get_device_name (char *path)
/* Open the directory... */
InitializeObjectAttributes (&ntobj, &ntdevdir, OBJ_CASE_INSENSITIVE,
NULL, NULL);
- status = NtOpenDirectoryObject (&dir, DIRECTORY_QUERY, &ntobj);
+ status = ZwOpenDirectoryObject (&dir, DIRECTORY_QUERY, &ntobj);
if (!NT_SUCCESS (status))
break;
/* ...and scan it. */
for (restart = TRUE, cont = 0;
- NT_SUCCESS (NtQueryDirectoryObject (dir, odi, 4096, TRUE,
+ NT_SUCCESS (ZwQueryDirectoryObject (dir, odi, 4096, TRUE,
restart, &cont, NULL));
restart = FALSE)
{
/* For each entry check if it's a symbolic link. */
InitializeObjectAttributes (&ntobj, &odi->ObjectName,
OBJ_CASE_INSENSITIVE, dir, NULL);
- status = NtOpenSymbolicLinkObject (&lnk, SYMBOLIC_LINK_QUERY, &ntobj);
+ status = ZwOpenSymbolicLinkObject (&lnk, SYMBOLIC_LINK_QUERY, &ntobj);
if (!NT_SUCCESS (status))
continue;
tgtdev.Length = 0;
tgtdev.MaximumLength = 512;
/* If so, query it and compare the target of the symlink with the
incoming device name. */
- status = NtQuerySymbolicLinkObject (lnk, &tgtdev, NULL);
- NtClose (lnk);
+ status = ZwQuerySymbolicLinkObject (lnk, &tgtdev, NULL);
+ ZwClose (lnk);
if (!NT_SUCCESS (status))
continue;
if (tgtdev.Length /* There's actually a symlink pointing to an
@@ -282,12 +293,12 @@ get_device_name (char *path)
else
memmove (ret, ret + 4, strlen (ret + 4) + 1);
}
- NtClose (dir);
+ ZwClose (dir);
goto out;
}
}
}
- NtClose (dir);
+ ZwClose (dir);
}
out:
diff --git a/winsup/utils/dump_setup.cc b/winsup/utils/dump_setup.cc
index f463caf14..70f03eed5 100644
--- a/winsup/utils/dump_setup.cc
+++ b/winsup/utils/dump_setup.cc
@@ -8,6 +8,7 @@ This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
+#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
@@ -16,18 +17,9 @@ details. */
#include <io.h>
#include <sys/stat.h>
#include <errno.h>
-#define WIN32_NO_STATUS /* Disable status codes in winnt.h since we include
- ntstatus.h for extended status codes below. */
-#include <windows.h>
-#undef WIN32_NO_STATUS
-#ifndef __MINGW64_VERSION_MAJOR
-# include <ddk/ntapi.h>
-# include <ddk/winddk.h>
-#else
-# include <winternl.h>
-# include <ntstatus.h>
-#endif
#include "path.h"
+#include <ddk/ntapi.h>
+#include <ddk/winddk.h>
#if 0
#include "zlib.h"
#endif
@@ -273,8 +265,8 @@ transform_chars (PWCHAR path, PWCHAR path_end)
*path = tfx_chars[*path];
}
-extern "C" NTAPI NTSTATUS NtQueryAttributesFile (POBJECT_ATTRIBUTES,
- PFILE_BASIC_INFORMATION);
+extern "C" NTOSAPI NTAPI NTSTATUS NtQueryAttributesFile(
+ POBJECT_ATTRIBUTES, PFILE_BASIC_INFORMATION);
/* This function checks for file existance and fills the stat structure
with only the required mode info. We're using a native NT function
diff --git a/winsup/utils/dumper.cc b/winsup/utils/dumper.cc
index 28d0add04..3b92bcc18 100644
--- a/winsup/utils/dumper.cc
+++ b/winsup/utils/dumper.cc
@@ -33,7 +33,6 @@
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
-#include <sys/param.h>
#include <windows.h>
#include "dumper.h"
@@ -381,7 +380,7 @@ dumper::dump_memory_region (asection * to, process_mem_region * memory)
while (size > 0)
{
- todo = MIN (size, PAGE_BUFFER_SIZE);
+ todo = min (size, PAGE_BUFFER_SIZE);
if (!ReadProcessMemory (hProcess, pos, mem_buf, todo, &done))
{
deb_printf ("Failed to read process memory at %x(%x), error %ld\n", pos, todo, GetLastError ());
diff --git a/winsup/utils/locale.cc b/winsup/utils/locale.cc
index be57cf161..e3c39c049 100644
--- a/winsup/utils/locale.cc
+++ b/winsup/utils/locale.cc
@@ -25,7 +25,6 @@
*/
#include <errno.h>
#include <stdio.h>
-#include <stdlib.h>
#include <ctype.h>
#include <getopt.h>
#include <string.h>
@@ -35,8 +34,7 @@
#include <limits.h>
#include <sys/cygwin.h>
#include <cygwin/version.h>
-#define _WIN32_WINNT 0x0602
-#define WINVER 0x0602
+#define WINVER 0x0601
#include <windows.h>
#define LOCALE_ALIAS "/usr/share/locale/locale.alias"
diff --git a/winsup/utils/mkgroup.c b/winsup/utils/mkgroup.c
index f712553c4..393d8f8f7 100644
--- a/winsup/utils/mkgroup.c
+++ b/winsup/utils/mkgroup.c
@@ -1,7 +1,7 @@
/* mkgroup.c:
Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- 2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -558,9 +558,9 @@ enum_groups (BOOL domain, domlist_t *dom_or_machine, const char *sep,
}
static void
-print_special_by_sid (PSID_IDENTIFIER_AUTHORITY auth, BYTE cnt,
- DWORD sub1, DWORD sub2, DWORD sub3, DWORD sub4,
- DWORD sub5, DWORD sub6, DWORD sub7, DWORD sub8)
+print_special (PSID_IDENTIFIER_AUTHORITY auth, BYTE cnt,
+ DWORD sub1, DWORD sub2, DWORD sub3, DWORD sub4,
+ DWORD sub5, DWORD sub6, DWORD sub7, DWORD sub8)
{
WCHAR grp[GNLEN + 1], dom[MAX_DOMAIN_NAME_LEN + 1];
DWORD glen, dlen, rid;
@@ -597,23 +597,6 @@ print_special_by_sid (PSID_IDENTIFIER_AUTHORITY auth, BYTE cnt,
}
}
-static void
-print_special_by_name (PCWSTR name, gid_t gid)
-{
- DWORD size = 256, dom_size = 256;
- PSID sid = (PSID) alloca (size);
- WCHAR dom[dom_size];
- SID_NAME_USE use;
-
- PWCHAR name_only = wcschr (name, L'\\');
- if (name_only)
- ++name_only;
-
- if (LookupAccountNameW (NULL, name, sid, &size, dom, &dom_size, &use))
- printf ("%ls:%s:%lu:\n",
- name_only ?: name, put_sid (sid), (unsigned long) gid);
-}
-
static int
usage (FILE * stream)
{
@@ -747,8 +730,8 @@ main (int argc, char **argv)
if (argc == 1)
{
- print_special_by_sid (&sid_nt_auth, 1, SECURITY_LOCAL_SYSTEM_RID,
- 0, 0, 0, 0, 0, 0, 0);
+ print_special (&sid_nt_auth, 1, SECURITY_LOCAL_SYSTEM_RID,
+ 0, 0, 0, 0, 0, 0, 0);
if (in_domain)
{
if (!enum_local_groups (TRUE, NULL, sep_char, id_offset,
@@ -874,11 +857,8 @@ skip:
/* Get 'system' group */
if (!disp_groupname && print_system && print_builtin && print_domlist)
- {
- print_special_by_sid (&sid_nt_auth, 1, SECURITY_LOCAL_SYSTEM_RID,
- 0, 0, 0, 0, 0, 0, 0);
- print_special_by_name (L"NT SERVICE\\TrustedInstaller", -2);
- }
+ print_special (&sid_nt_auth, 1, SECURITY_LOCAL_SYSTEM_RID,
+ 0, 0, 0, 0, 0, 0, 0);
off = id_offset;
for (i = 0; i < print_domlist; ++i)
diff --git a/winsup/utils/mkpasswd.c b/winsup/utils/mkpasswd.c
index 5373719c5..c873664f9 100644
--- a/winsup/utils/mkpasswd.c
+++ b/winsup/utils/mkpasswd.c
@@ -1,7 +1,7 @@
/* mkpasswd.c:
Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006,
- 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
+ 2008, 2009, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -172,13 +172,9 @@ current_user (const char *sep, const char *passed_home_path, DWORD id_offset,
*GetSidSubAuthorityCount(curr_pgrp.psid) - 1);
if (passed_home_path[0] == '\0')
{
- char *envhome = getenv ("HOME");
+ char *envhome = getenv ("HOME"); /* POSIX! */
- /* If $HOME exists and is non-empty, just copy it over to homedir_psx.
- Otherwise, generate a new path of the form "/home/$USER". */
- if (envhome && envhome[0] != '\0')
- strncat (homedir_psx, envhome, sizeof (homedir_psx) - 1);
- else
+ if (!envhome || envhome[0] == '\0')
{
wcstombs (stpncpy (homedir_psx, "/home/", sizeof (homedir_psx)),
user, sizeof (homedir_psx) - 6);
@@ -459,9 +455,9 @@ enum_users (BOOL domain, domlist_t *dom_or_machine, const char *sep,
}
static void
-print_special_by_sid (PSID_IDENTIFIER_AUTHORITY auth, BYTE cnt,
- DWORD sub1, DWORD sub2, DWORD sub3, DWORD sub4,
- DWORD sub5, DWORD sub6, DWORD sub7, DWORD sub8)
+print_special (PSID_IDENTIFIER_AUTHORITY auth, BYTE cnt,
+ DWORD sub1, DWORD sub2, DWORD sub3, DWORD sub4,
+ DWORD sub5, DWORD sub6, DWORD sub7, DWORD sub8)
{
WCHAR user[UNLEN + 1], dom[MAX_DOMAIN_NAME_LEN + 1];
DWORD len, len2, rid;
@@ -585,29 +581,6 @@ print_version ()
}
static void
-print_special_by_name (PCWSTR name, uid_t uid, gid_t gid)
-{
- DWORD size = 256, dom_size = 256;
- PSID sid = (PSID) alloca (size);
- WCHAR dom[dom_size];
- SID_NAME_USE use;
-
- PWCHAR name_only = wcschr (name, L'\\');
- if (name_only)
- ++name_only;
-
- if (LookupAccountNameW (NULL, name, sid, &size, dom, &dom_size, &use))
- printf ("%ls:*:%lu:%lu:U-%ls%s%ls,%s::\n",
- name_only ?: name,
- (unsigned long) uid,
- (unsigned long) gid,
- name_only ? dom : L"",
- name_only ? "\\" : "",
- name_only ?: name,
- put_sid (sid));
-}
-
-static void
enum_std_accounts ()
{
/* Generate service starter account entries. */
@@ -615,10 +588,8 @@ enum_std_accounts ()
printf ("LocalService:*:19:544:U-NT AUTHORITY\\LocalService,S-1-5-19::\n");
printf ("NetworkService:*:20:544:U-NT AUTHORITY\\NetworkService,S-1-5-20::\n");
/* Get 'administrators' group (has localized name). */
- print_special_by_sid (&sid_nt_auth, 2, SECURITY_BUILTIN_DOMAIN_RID,
- DOMAIN_ALIAS_RID_ADMINS, 0, 0, 0, 0, 0, 0);
- /* Fetch "TrustedInstaller" account starting with Vista. */
- print_special_by_name (L"NT SERVICE\\TrustedInstaller", -2, -2);
+ print_special (&sid_nt_auth, 2, SECURITY_BUILTIN_DOMAIN_RID,
+ DOMAIN_ALIAS_RID_ADMINS, 0, 0, 0, 0, 0, 0);
}
static PPOLICY_PRIMARY_DOMAIN_INFO p_dom;
diff --git a/winsup/utils/ps.cc b/winsup/utils/ps.cc
index 7ed69ea9b..e026518c4 100644
--- a/winsup/utils/ps.cc
+++ b/winsup/utils/ps.cc
@@ -23,8 +23,8 @@ details. */
#include <sys/cygwin.h>
#include <cygwin/version.h>
#include <psapi.h>
-#include <ntdef.h>
-#include <ntdll.h>
+#include <ddk/ntapi.h>
+#include <ddk/winddk.h>
#include "loadlib.h"
/* Maximum possible path length under NT. There's no official define
@@ -347,7 +347,7 @@ main (int argc, char *argv[])
unicode_buf to have enough space for a maximum sized
UNICODE_STRING. */
if (uni->Length == 0) /* System process */
- win32path = (wchar_t *) L"System";
+ win32path = L"System";
else
{
uni->Buffer[uni->Length / sizeof (WCHAR)] = L'\0';
diff --git a/winsup/utils/regtool.cc b/winsup/utils/regtool.cc
index 5a4244e3e..cc28d485e 100644
--- a/winsup/utils/regtool.cc
+++ b/winsup/utils/regtool.cc
@@ -574,7 +574,7 @@ cmd_add ()
}
extern "C" {
- LONG WINAPI (*regDeleteKeyEx)(HKEY, LPCWSTR, REGSAM, DWORD);
+WINADVAPI LONG WINAPI (*regDeleteKeyEx)(HKEY, LPCWSTR, REGSAM, DWORD);
}
int
@@ -587,7 +587,7 @@ cmd_remove ()
{
HMODULE mod = LoadLibrary ("advapi32.dll");
if (mod)
- regDeleteKeyEx = (LONG WINAPI (*)(HKEY, LPCWSTR, REGSAM, DWORD)) GetProcAddress (mod, "RegDeleteKeyExW");
+ regDeleteKeyEx = (WINADVAPI LONG WINAPI (*)(HKEY, LPCWSTR, REGSAM, DWORD)) GetProcAddress (mod, "RegDeleteKeyExW");
}
if (regDeleteKeyEx)
rv = (*regDeleteKeyEx) (key, value, wow64, 0);
diff --git a/winsup/utils/strace.cc b/winsup/utils/strace.cc
index f9d2eb323..f8662582d 100644
--- a/winsup/utils/strace.cc
+++ b/winsup/utils/strace.cc
@@ -11,12 +11,6 @@ This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
-#include <windows.h>
-#ifndef __MINGW64_VERSION_MAJOR
-#include "ddk/ntapi.h"
-#else
-#include <winternl.h>
-#endif
#define cygwin_internal cygwin_internal_dontuse
#include <stdio.h>
#include <fcntl.h>
@@ -25,6 +19,7 @@ details. */
#include <string.h>
#include <stdlib.h>
#include <time.h>
+#include <windows.h>
#include <signal.h>
#include <errno.h>
#include "cygwin/include/sys/strace.h"
@@ -33,11 +28,10 @@ details. */
#include "path.h"
#undef cygwin_internal
#include "loadlib.h"
+#include "ddk/ntapi.h"
/* we *know* we're being built with GCC */
-#ifndef alloca
#define alloca __builtin_alloca
-#endif
static const char *pgm;
static int forkdebug = 1;
diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog
index 79892af2a..96f61ce73 100644
--- a/winsup/w32api/ChangeLog
+++ b/winsup/w32api/ChangeLog
@@ -1,76 +1,3 @@
-2012-08-08 Earnie Boyd <earnie@users.sourceforge.net>
-
- * lib/kernel32.def (InterlockedDecrement): Remove the @BYTE count since
- we now declare it as __cdecl.
- (InterlockedIncrement): Ditto.
- (InterlockedExchange): Ditto.
-
-2012-08-06 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/winnt.h (MemoryBarrier): Define to __mingworg_MemoryBarrier()
- which is in libmingwex.a.
- MODIFIED FROM: Use __sync_synchronize instead of
- creating a function due to multiple definition.
- NOTE: Not using __sync_synchronize to allow applications to mix-n-match
- C libraries from different vendors.
-
-2012-08-04 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/winver.h (VerQueryValue[AW]): Correct declaration per MSDN.
-
-2012-08-01 Stephan Jorek <sjorek@users.sourceforge.net>
-
- * include/setupapi.h: Correct typos and truncations.
-
-2012-08-01 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/winuser.h (tagMENUITEMINFOA): Correct dwItemData definition.
- (tagMENUITEMINFOW): Ditto.
- * include/wtsapi32.h (WTSVirtualChannelClose): Add declaration.
- (WTSVirtualChannelOpen): Ditto.
- (WTSVirtualchannelOpenEx): Ditto.
- (WTSVirtualChannelPurgeInput): Ditto.
- (WTSVirtualChannelPurgeOutput): Ditto.
- (WTSVirtualChannelQuery): Ditto.
- (WTSVirtualChannelRead): Ditto.
- (WTSVirtualChannelWrite): Ditto.
- * lib/wtsapi32.def (WTSVirtualChannelOpenEx@12): Add import.
- * include/winbase.h (InterlockedDecrement): Modify declaration from
- LONG WINAPI to LONG __cdecl to match Microsoft documentation.
- (InterlockedIncrement): Ditto.
- (InterlockedExchange): Ditto.
- * include/winnt.h (MemoryBarrier): Add definition.
- * lib/Makefile.in (amvideo.h): Dependencies are not met making this file
- implementation incomplete. Do not deliver it.
- (amaudio.h): Ditto.
-
-2012-07-29 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/sdkddkver.h: New file.
- * include/windows.h: Include sdkddkver.h.
-
-2012-07-06 Corinna Vinschen <corinna@vinschen.de>
-
- * include/winsock.h: Keep IP_OPTIONS and SO_xxx definitions when
- building Cygwin.
- * include/winsock2.h: Keep sockaddr and sockaddr_storage definitions
- when building Cygwin.
-
-2012-04-29 Jan Ringos <tringi@users.sf.net>
-
- * include/winbase.h (GetModuleHandleEx[A/W]): Correct version guard.
-
-2012-04-28 LRN <l_r_nightmare@users.sf.net>
-
- * include/shobjidl.h: New file.
- * lib/shobjidl-uuid.c: New file.
- * lib/Makefile.in: Reference shobjidl-uuid.c.
-
-2012-03-19 Ben Greear <greear@users.sf.net>
-
- * include/routprot.h (IP_LOCAL_BINDING): Move above IP_ADAPTER_BINDING_INFO
- to correct warning about IP_LOCAL_BINDING being undefined.
-
2012-01-16 Keith Marshall <keithmarshall@users.sf.net>
Correct misused 'rm -r' command in uninstall rules.
diff --git a/winsup/w32api/include/routprot.h b/winsup/w32api/include/routprot.h
index 319835fef..54fe9ee68 100644
--- a/winsup/w32api/include/routprot.h
+++ b/winsup/w32api/include/routprot.h
@@ -43,10 +43,6 @@ extern "C" {
#define IPX_PROTOCOL_NLSP 0x00020002
/*--- Router Management Reference - Router Management Structures */
#if (_WIN32_WINNT >= 0x0500)
-typedef struct IP_LOCAL_BINDING {
- DWORD Address;
- DWORD Mask;
-} IP_LOCAL_BINDING,*PIP_LOCAL_BINDING;
typedef struct IP_ADAPTER_BINDING_INFO {
ULONG AddressCount;
DWORD RemoteAddress;
@@ -54,6 +50,10 @@ typedef struct IP_ADAPTER_BINDING_INFO {
ULONGLONG Speed;
IP_LOCAL_BINDING Address[];
} IP_ADAPTER_BINDING_INFO,*PIP_ADAPTER_BINDING_INFO;
+typedef struct IP_LOCAL_BINDING {
+ DWORD Address;
+ DWORD Mask;
+} IP_LOCAL_BINDING,*PIP_LOCAL_BINDING;
typedef struct IPX_ADAPTER_BINDING_INFO {
ULONG AdapterIndex;
UCHAR Network[4];
diff --git a/winsup/w32api/include/sdkddkver.h b/winsup/w32api/include/sdkddkver.h
deleted file mode 100644
index 3005cf5ab..000000000
--- a/winsup/w32api/include/sdkddkver.h
+++ /dev/null
@@ -1,141 +0,0 @@
-/**
- sdkddkver.h - Versioning file for Windows SDK/DDK.
-
- This file is part of a free library for the Windows API.
-
- This library 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.
-*/
-#ifndef _SDKDDKVER_H
-#define _SDKDDKVER_H
-
-/**
- * Define version masks
- * http://msdn.microsoft.com/en-us/library/windows/desktop/aa383745(v=vs.85).aspx
- * Values and names are guessed based on comments in the documentation.
- */
-#define OSVERSION_MASK 0xFFFF0000
-#define SPVERSION_MASK 0x0000FF00
-#define SUBVERSION_MASK 0x000000FF
-
-/**
- * Macros to extract values from NTDDI version.
- * Derived from comments on MSDN or social.microsoft.com
- */
-#define OSVER(ver) ((ver) & OSVERSION_MASK)
-#define SPVER(ver) (((ver) & SPVERSION_MASK) >> 8)
-#define SUBVER(ver) ((ver) & SUBVERSION_MASK)
-
-/**
- * Macros to create the minimal NTDDI version from _WIN32_WINNT value.
- */
-#define NTDDI_VERSION_FROM_WIN32_WINNT(ver) _NTDDI_VERSION_FROM_WIN32_WINNT(ver)
-#define _NTDDI_VERSION_FROM_WIN32_WINNT(ver) ver##0000
-
-/**
- * Version constants defining _WIN32_WINNT versions.
- * http://msdn.microsoft.com/en-us/library/windows/desktop/aa383745(v=vs.85).aspx
- */
-#define _WIN32_WINNT_NT4 0x0400
-#define _WIN32_WINNT_WIN2K 0x0500
-#define _WIN32_WINNT_WINXP 0x0501
-#define _WIN32_WINNT_WS03 0x0502
-#define _WIN32_WINNT_WIN6 0x0600
-#define _WIN32_WINNT_VISTA 0x0600
-#define _WIN32_WINNT_WS08 0x0600
-#define _WIN32_WINNT_LONGORN 0x0600
-#define _WIN32_WINNT_WIN7 0x0601
-
-/**
- * Version constants defining _WIN32_IE versions.
- * http://msdn.microsoft.com/en-us/library/windows/desktop/aa383745(v=vs.85).aspx
- */
-#define _WIN32_IE_IE50 0x0500
-#define _WIN32_IE_IE501 0x0501
-#define _WIN32_IE_IE55 0x0550
-#define _WIN32_IE_IE60 0x0600
-#define _WIN32_IE_IE60SP1 0x0601
-#define _WIN32_IE_IE60SP2 0x0603
-#define _WIN32_IE_IE70 0x0700
-#define _WIN32_IE_IE80 0x0800
-
-/**
- * Version constants defining NTDDI_VERSION.
- * http://msdn.microsoft.com/en-us/library/windows/desktop/aa383745(v=vs.85).aspx
- */
-#define __NTDDI_WIN5 0x05000000
-#define __NTDDI_WIN51 0x05010000
-#define __NTDDI_WIN52 0x05020000
-#define __NTDDI_WIN6 0x06000000
-#define __NTDDI_WIN61 0x06010000
-#define __NTDDI_SP0 0x00000000
-#define __NTDDI_SP1 0x00000100
-#define __NTDDI_SP2 0x00000200
-#define __NTDDI_SP3 0x00000300
-#define __NTDDI_SP4 0x00000400
-
-#define NTDDI_WIN2K __NTDDI_WIN5 + __NTDDI_SP0
-#define NTDDI_WIN2KSP1 __NTDDI_WIN5 + __NTDDI_SP1
-#define NTDDI_WIN2KSP2 __NTDDI_WIN5 + __NTDDI_SP2
-#define NTDDI_WIN2KSP3 __NTDDI_WIN5 + __NTDDI_SP3
-#define NTDDI_WIN2KSP4 __NTDDI_WIN5 + __NTDDI_SP4
-
-#define NTDDI_WINXP __NTDDI_WIN51 + __NTDDI_SP0
-#define NTDDI_WINXPSP1 __NTDDI_WIN51 + __NTDDI_SP1
-#define NTDDI_WINXPSP2 __NTDDI_WIN51 + __NTDDI_SP2
-#define NTDDI_WINXPSP3 __NTDDI_WIN51 + __NTDDI_SP3
-
-#define NTDDI_WS03 __NTDDI_WIN52 + __NTDDI_SP0
-#define NTDDI_WS03SP1 __NTDDI_WIN52 + __NTDDI_SP1
-#define NTDDI_WS03SP2 __NTDDI_WIN52 + __NTDDI_SP2
-
-#define NTDDI_VISTA __NTDDI_WIN6 + __NTDDI_SP0
-#define NTDDI_VISTASP1 __NTDDI_WIN6 + __NTDDI_SP1
-#define NTDDI_VISTASP2 __NTDDI_WIN6 + __NTDDI_SP2
-
-#define NTDDI_LONGHORN NTDDI_VISTA
-
-#define NTDDI_WIN6 NTDDI_VISTA
-#define NTDDI_WIN6SP1 NTDDI_VISTASP1
-#define NTDDI_WIN6SP2 NTDDI_VISTASP2
-
-#define NTDDI_WS08 __NTDDI_WIN6 + __NTDDI_SP1
-
-#define NTDDI_WIN7 __NTDDI_WIN61 + __NTDDI_SP0
-
-/**
- * Assign defaults
- */
-#ifdef NTDDI_VERSION
-# ifdef _WIN32_WINNT
-# if _WIN32_WINNT != OSDIR(NTDDI_VERSION)
-# error The _WIN32_WINNT value does not match NTDDI_VERSION
-# endif
-# else
-# define _WIN32_WINNT OSVER(NTDDI_VERSION)
-# ifndef WINVER
-# define WINVER _WIN32_WINNT
-# endif
-# endif
-#endif
-
-#ifndef _WIN32_WINNT
-# ifdef WINVER
-# define _WIN32_WINNT WINVER
-# else
-# warning _WIN32_WINNT is defaulting to _WIN32_WINNT_WIN2K
-# define _WIN32_WINNT _WIN32_WINNT_WIN2K
-# endif
-#endif
-
-#ifndef WINVER
-# define WINVER _WIN32_WINNT
-#endif
-
-#ifndef NTDDI_VERSION
-# warning NTDDI_VERSION is defaulting to _WIN32_WINNT version SPK0
-# define NTDDI_VERSION NTDDI_VERSION_FROM_WIN32_WINNT(_WIN32_WINNT)
-#endif
-
-#endif
diff --git a/winsup/w32api/include/setupapi.h b/winsup/w32api/include/setupapi.h
index 8fc7a6c82..ef38852a2 100644
--- a/winsup/w32api/include/setupapi.h
+++ b/winsup/w32api/include/setupapi.h
@@ -1046,7 +1046,7 @@ WINSETUPAPI BOOL WINAPI SetupAdjustDiskSpaceListA(HDSKSPC,LPCSTR,LONGLONG,PVOID,
WINSETUPAPI BOOL WINAPI SetupAdjustDiskSpaceListW(HDSKSPC,LPCWSTR,LONGLONG,PVOID,UINT);
WINSETUPAPI UINT WINAPI SetupBackupErrorA(HWND,PCSTR,PCSTR,PCSTR,UINT,DWORD);
WINSETUPAPI UINT WINAPI SetupBackupErrorW(HWND,PCWSTR,PCWSTR,PCWSTR,UINT,DWORD);
-WINSETUPAPI BOOL WINAPI SetupCancelTemporarySourceList(VOID);
+WINSETUPAPI BOOL WINAPI SetupCancelTemporary(VOID);
WINSETUPAPI BOOL WINAPI SetupCloseFileQueue(HSPFILEQ);
WINSETUPAPI VOID WINAPI SetupCloseInfFile(HINF);
WINSETUPAPI VOID WINAPI SetupCloseLog(VOID);
@@ -1157,7 +1157,7 @@ WINSETUPAPI BOOL WINAPI SetupDiGetINFClassW(PCWSTR,LPGUID,PWSTR,DWORD,PDWORD);
WINSETUPAPI BOOL WINAPI SetupDiGetSelectedDevice(HDEVINFO,PSP_DEVINFO_DATA);
WINSETUPAPI BOOL WINAPI SetupDiGetSelectedDriverA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A);
WINSETUPAPI BOOL WINAPI SetupDiGetSelectedDriverW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_W);
-WINSETUPAPI HPROPSHEETPAGE WINAPI SetupDiGetWizardPage(HDEVINFO,PSP_DEVINFO_DATA,PSP_INSTALLWIZARD_DATA,DWORD,DWORD);
+WINSETUPAPI HPROPSHEETPAGE WINAPI SetupDiGetWizardage(HDEVINFO,PSP_DEVINFO_DATA,PSP_INSTALLWIZARD_DATA,DWORD,DWORD);
WINSETUPAPI BOOL WINAPI SetupDiInstallClassA(HWND,PCSTR,DWORD,HSPFILEQ);
WINSETUPAPI BOOL WINAPI SetupDiInstallClassW(HWND,PCWSTR,DWORD,HSPFILEQ);
WINSETUPAPI BOOL WINAPI SetupDiInstallClassExA(HWND,PCSTR,DWORD,HSPFILEQ,CONST GUID*,PVOID,PVOID);
@@ -1204,8 +1204,8 @@ WINSETUPAPI BOOL WINAPI SetupFindFirstLineW(HINF,PCWSTR,PCWSTR,PINFCONTEXT);
WINSETUPAPI BOOL WINAPI SetupFindNextLine(PINFCONTEXT,PINFCONTEXT);
WINSETUPAPI BOOL WINAPI SetupFindNextMatchLineA(PINFCONTEXT,PCSTR,PINFCONTEXT);
WINSETUPAPI BOOL WINAPI SetupFindNextMatchLineW(PINFCONTEXT,PCWSTR,PINFCONTEXT);
-WINSETUPAPI BOOL WINAPI SetupFreeSourceListA(PCSTR**,UINT);
-WINSETUPAPI BOOL WINAPI SetupFreeSourceListW(PCWSTR**,UINT);
+WINSETUPAPI BOOL WINAPI SetupFreeA(PCSTR**,UINT);
+WINSETUPAPI BOOL WINAPI SetupFreeW(PCWSTR**,UINT);
WINSETUPAPI BOOL WINAPI SetupGetBackupInformationA(HSPFILEQ,PSP_BACKUP_QUEUE_PARAMS_A);
WINSETUPAPI BOOL WINAPI SetupGetBackupInformationW(HSPFILEQ,PSP_BACKUP_QUEUE_PARAMS_W);
WINSETUPAPI BOOL WINAPI SetupGetBinaryField(PINFCONTEXT,DWORD,PBYTE,DWORD,LPDWORD);
@@ -1267,8 +1267,8 @@ WINSETUPAPI HINF WINAPI SetupOpenMasterInf(VOID);
WINSETUPAPI UINT WINAPI SetupPromptForDiskA(HWND,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,DWORD,PSTR,DWORD,PDWORD);
WINSETUPAPI UINT WINAPI SetupPromptForDiskW(HWND,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,DWORD,PWSTR,DWORD,PDWORD);
WINSETUPAPI INT WINAPI SetupPromptReboot(HSPFILEQ,HWND,BOOL);
-WINSETUPAPI BOOL WINAPI SetupQuerySourceListA(DWORD,PCSTR**,PUINT);
-WINSETUPAPI BOOL WINAPI SetupQuerySourceListW(DWORD,PCWSTR**,PUINT);
+WINSETUPAPI BOOL WINAPI SetupQueryA(DWORD,PCSTR**,PUINT);
+WINSETUPAPI BOOL WINAPI SetupQueryW(DWORD,PCWSTR**,PUINT);
WINSETUPAPI BOOL WINAPI SetupQueryDrivesInDiskSpaceListA(HDSKSPC,PSTR,DWORD,PDWORD);
WINSETUPAPI BOOL WINAPI SetupQueryDrivesInDiskSpaceListW(HDSKSPC,PWSTR,DWORD,PDWORD);
WINSETUPAPI BOOL WINAPI SetupQueryFileLogA(HSPFILELOG,PCSTR,PCSTR,SetupFileLogInfo,PSTR,DWORD,PDWORD);
diff --git a/winsup/w32api/include/shobjidl.h b/winsup/w32api/include/shobjidl.h
deleted file mode 100644
index c69e5cf72..000000000
--- a/winsup/w32api/include/shobjidl.h
+++ /dev/null
@@ -1,143 +0,0 @@
-#ifndef _SHLOBJIDL_H
-#define _SHLOBJIDL_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <ole2.h>
-#include <shlguid.h>
-#include <shellapi.h>
-#pragma pack(push,1)
-#include <commctrl.h>
-
-extern const IID IID_ITaskbarList3;
-extern const GUID CLSID_ITaskbarList;
-
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd562322%28v=vs.85%29.aspx */
-typedef enum THUMBBUTTONMASK {
- THB_BITMAP = 0x00000001,
- THB_ICON = 0x00000002,
- THB_TOOLTIP = 0x00000004,
- THB_FLAGS = 0x00000008
-} THUMBBUTTONMASK;
-
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd562321%28v=vs.85%29.aspx */
-typedef enum THUMBBUTTONFLAGS {
- THBF_ENABLED = 0x00000000,
- THBF_DISABLED = 0x00000001,
- THBF_DISMISSONCLICK = 0x00000002,
- THBF_NOBACKGROUND = 0x00000004,
- THBF_HIDDEN = 0x00000008,
- THBF_NONINTERACTIVE = 0x00000010
-} THUMBBUTTONFLAGS;
-
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391559%28v=vs.85%29.aspx */
-typedef struct THUMBBUTTON {
- THUMBBUTTONMASK dwMask;
- UINT iId;
- UINT iBitmap;
- HICON hIcon;
- WCHAR szTip[260];
- THUMBBUTTONFLAGS dwFlags;
-} THUMBBUTTON, *LPTHUMBBUTTON;
-
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391697%28v=vs.85%29.aspx */
-typedef enum TBPFLAG {
- TBPF_NOPROGRESS = 0x00000000,
- TBPF_INDETERMINATE = 0x00000001,
- TBPF_NORMAL = 0x00000002,
- TBPF_ERROR = 0x00000004,
- TBPF_PAUSED = 0x00000008
-} TBPFLAG;
-
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774652%28v=vs.85%29.aspx */
-#define INTERFACE ITaskbarList
-DECLARE_INTERFACE_(ITaskbarList, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774650%28v=vs.85%29.aspx */
- STDMETHOD(HrInit)(THIS) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774646%28v=vs.85%29.aspx */
- STDMETHOD(AddTab)(THIS_ HWND) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774648%28v=vs.85%29.aspx */
- STDMETHOD(DeleteTab)(THIS_ HWND) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774644%28v=vs.85%29.aspx */
- STDMETHOD(ActivateTab)(THIS_ HWND) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774655%28v=vs.85%29.aspx */
- STDMETHOD(SetActiveAlt)(THIS_ HWND) PURE;
-};
-#undef INTERFACE
-typedef ITaskbarList *LPTASKBARLIST;
-
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774638%28v=vs.85%29.aspx */
-#define INTERFACE ITaskbarList2
-DECLARE_INTERFACE_(ITaskbarList2, ITaskbarList)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(HrInit)(THIS) PURE;
- STDMETHOD(AddTab)(THIS_ HWND) PURE;
- STDMETHOD(DeleteTab)(THIS_ HWND) PURE;
- STDMETHOD(ActivateTab)(THIS_ HWND) PURE;
- STDMETHOD(SetActiveAlt)(THIS_ HWND) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774640%28v=vs.85%29.aspx */
- STDMETHOD(MarkFullscreenWindow)(THIS_ HWND,BOOL) PURE;
-};
-#undef INTERFACE
-typedef ITaskbarList2 *LPTASKBARLIST2;
-
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391692%28v=vs.85%29.aspx */
-#define INTERFACE ITaskbarList3
-DECLARE_INTERFACE_(ITaskbarList3, ITaskbarList2)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(HrInit)(THIS) PURE;
- STDMETHOD(AddTab)(THIS_ HWND) PURE;
- STDMETHOD(DeleteTab)(THIS_ HWND) PURE;
- STDMETHOD(ActivateTab)(THIS_ HWND) PURE;
- STDMETHOD(SetActiveAlt)(THIS_ HWND) PURE;
- STDMETHOD(MarkFullscreenWindow)(THIS_ HWND,BOOL) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391698%28v=vs.85%29.aspx */
- STDMETHOD(SetProgressValue)(THIS_ ULONGLONG,ULONGLONG) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391697%28v=vs.85%29.aspx */
- STDMETHOD(SetProgressState)(THIS_ HWND,TBPFLAG) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391694%28v=vs.85%29.aspx */
- STDMETHOD(RegisterTab)(THIS_ HWND,HWND) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391706%28v=vs.85%29.aspx */
- STDMETHOD(UnregisterTab)(THIS_ HWND) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391700%28v=vs.85%29.aspx */
- STDMETHOD(SetTabOrder)(THIS_ HWND,HWND) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391699%28v=vs.85%29.aspx */
- STDMETHOD(SetTabActive)(THIS_ HWND,HWND,DWORD) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391703%28v=vs.85%29.aspx */
- STDMETHOD(ThumbBarAddButtons)(THIS_ HWND,UINT,LPTHUMBBUTTON) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391705%28v=vs.85%29.aspx */
- STDMETHOD(ThumbBarUpdateButtons)(THIS_ HWND,UINT,LPTHUMBBUTTON) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391704%28v=vs.85%29.aspx */
- STDMETHOD(ThumbBarSetImageList)(THIS_ HWND,HIMAGELIST) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391696%28v=vs.85%29.aspx */
- STDMETHOD(SetOverlayIcon)(THIS_ HWND,HICON,LPCWSTR) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391702%28v=vs.85%29.aspx */
- STDMETHOD(SetThumbnailTooltip)(THIS_ HWND,LPCWSTR) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391701%28v=vs.85%29.aspx */
- STDMETHOD(SetThumbnailClip)(THIS_ HWND,RECT*) PURE;
-};
-#undef INTERFACE
-typedef ITaskbarList3 *LPTASKBARLIST3;
-
-#pragma pack(pop)
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif /* _SHLOBJIDL_H */
diff --git a/winsup/w32api/include/winbase.h b/winsup/w32api/include/winbase.h
index aa168418b..3d206794d 100644
--- a/winsup/w32api/include/winbase.h
+++ b/winsup/w32api/include/winbase.h
@@ -1648,7 +1648,7 @@ WINBASEAPI DWORD WINAPI GetModuleFileNameA(HINSTANCE,LPSTR,DWORD);
WINBASEAPI DWORD WINAPI GetModuleFileNameW(HINSTANCE,LPWSTR,DWORD);
WINBASEAPI HMODULE WINAPI GetModuleHandleA(LPCSTR);
WINBASEAPI HMODULE WINAPI GetModuleHandleW(LPCWSTR);
-#if (_WIN32_WINNT >= 0x0501)
+#if (_WIN32_WINNT >= 0x0500)
WINBASEAPI BOOL WINAPI GetModuleHandleExA(DWORD,LPCSTR,HMODULE*);
WINBASEAPI BOOL WINAPI GetModuleHandleExW(DWORD,LPCWSTR,HMODULE*);
#endif
@@ -1846,8 +1846,8 @@ LONG WINAPI InterlockedCompareExchange(LONG volatile *,LONG,LONG);
/* PVOID WINAPI InterlockedCompareExchangePointer(PVOID*,PVOID,PVOID); */
#define InterlockedCompareExchangePointer(d,e,c) \
(PVOID)InterlockedCompareExchange((LONG volatile *)(d),(LONG)(e),(LONG)(c))
-LONG __cdecl InterlockedDecrement(LONG volatile *);
-LONG __cdecl InterlockedExchange(LONG volatile *,LONG);
+LONG WINAPI InterlockedDecrement(LONG volatile *);
+LONG WINAPI InterlockedExchange(LONG volatile *,LONG);
/* PVOID WINAPI InterlockedExchangePointer(PVOID*,PVOID); */
#define InterlockedExchangePointer(t,v) \
(PVOID)InterlockedExchange((LONG volatile *)(t),(LONG)(v))
@@ -1855,7 +1855,7 @@ LONG WINAPI InterlockedExchangeAdd(LONG volatile *,LONG);
#if (_WIN32_WINNT >= 0x0501)
PSLIST_ENTRY WINAPI InterlockedFlushSList(PSLIST_HEADER);
#endif
-LONG __cdecl InterlockedIncrement(LONG volatile *);
+LONG WINAPI InterlockedIncrement(LONG volatile *);
#if (_WIN32_WINNT >= 0x0501)
PSLIST_ENTRY WINAPI InterlockedPopEntrySList(PSLIST_HEADER);
PSLIST_ENTRY WINAPI InterlockedPushEntrySList(PSLIST_HEADER,PSLIST_ENTRY);
@@ -2339,7 +2339,7 @@ typedef PCACTCTXW PCACTCTX;
#endif
#define GetModuleFileName GetModuleFileNameW
#define GetModuleHandle GetModuleHandleW
-#if (_WIN32_WINNT >= 0x0501)
+#if (_WIN32_WINNT >= 0x0500)
#define GetModuleHandleEx GetModuleHandleExW
#endif
#define GetNamedPipeHandleState GetNamedPipeHandleStateW
@@ -2546,7 +2546,7 @@ typedef PCACTCTXA PCACTCTX;
#endif
#define GetNamedPipeHandleState GetNamedPipeHandleStateA
#define GetModuleHandle GetModuleHandleA
-#if (_WIN32_WINNT >= 0x0501)
+#if (_WIN32_WINNT >= 0x0500)
#define GetModuleHandleEx GetModuleHandleExA
#endif
#define GetModuleFileName GetModuleFileNameA
diff --git a/winsup/w32api/include/windows.h b/winsup/w32api/include/windows.h
index db18aec8d..97e037e90 100644
--- a/winsup/w32api/include/windows.h
+++ b/winsup/w32api/include/windows.h
@@ -16,8 +16,6 @@
#pragma GCC system_header
#endif
-#include <sdkddkver.h>
-
/* translate GCC target defines to MS equivalents. Keep this synchronized
with winnt.h. */
#if defined(__i686__) && !defined(_M_IX86)
diff --git a/winsup/w32api/include/winnt.h b/winsup/w32api/include/winnt.h
index d650bf800..b31274bbe 100644
--- a/winsup/w32api/include/winnt.h
+++ b/winsup/w32api/include/winnt.h
@@ -4035,19 +4035,6 @@ struct _TEB * NtCurrentTeb(void);
#endif /* __GNUC__ */
#endif /* _X86_ */
-#if _WIN32_WINNT >= _WIN32_WINNT_VISTA
-# if defined(_AMD64_) || defined(__X86_64)
-# define MemoryBarrier __faststorefence
-# elif defined(_IA64_)
-# define MemoryBarrier __mf
-# else
- void __mingworg_MemoryBarrier(void);
-# define MemoryBarrier __mingworg_MemoryBarrier
-# endif
-#else
-# define MemoryBarrier
-#endif
-
#endif /* RC_INVOKED */
#ifdef __cplusplus
diff --git a/winsup/w32api/include/winsock.h b/winsup/w32api/include/winsock.h
index 929c10348..b595b597c 100644
--- a/winsup/w32api/include/winsock.h
+++ b/winsup/w32api/include/winsock.h
@@ -240,7 +240,7 @@ typedef struct WSAData {
} WSADATA;
typedef WSADATA *LPWSADATA;
-#ifndef __INSIDE_MSYS__
+#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
#define IP_OPTIONS 1
#define SO_DEBUG 1
#define SO_ACCEPTCONN 2
@@ -260,7 +260,7 @@ typedef WSADATA *LPWSADATA;
#define SO_RCVTIMEO 0x1006
#define SO_ERROR 0x1007
#define SO_TYPE 0x1008
-#endif /* !__INSIDE_MSYS__ */
+#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
/*
* Note that the next 5 IP defines are specific to WinSock 1.1 (wsock32.dll).
* They will cause errors or unexpected results if used with the
diff --git a/winsup/w32api/include/winsock2.h b/winsup/w32api/include/winsock2.h
index 0279227b4..260c3fa5f 100644
--- a/winsup/w32api/include/winsock2.h
+++ b/winsup/w32api/include/winsock2.h
@@ -331,7 +331,7 @@ typedef WSADATA *LPWSADATA;
#define AF_12844 25
#define AF_IRDA 26
#define AF_NETDES 28
-#ifndef __INSIDE_MSYS__
+#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
#define AF_MAX 29
struct sockaddr {
u_short sa_family;
@@ -359,7 +359,7 @@ struct sockaddr_storage {
__int64 __ss_align; /* force alignment */
char __ss_pad2[_SS_PAD2SIZE]; /* pad to 128 */
};
-#endif /* !__INSIDE_MSYS__ */
+#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
struct sockproto {
u_short sp_family;
diff --git a/winsup/w32api/include/winuser.h b/winsup/w32api/include/winuser.h
index 76f493584..7fb6fe224 100644
--- a/winsup/w32api/include/winuser.h
+++ b/winsup/w32api/include/winuser.h
@@ -2771,7 +2771,7 @@ typedef struct tagMENUITEMINFOA {
HMENU hSubMenu;
HBITMAP hbmpChecked;
HBITMAP hbmpUnchecked;
- ULONG_PTR dwItemData;
+ DWORD dwItemData;
LPSTR dwTypeData;
UINT cch;
#if (_WIN32_WINNT >= 0x0500)
@@ -2788,7 +2788,7 @@ typedef struct tagMENUITEMINFOW {
HMENU hSubMenu;
HBITMAP hbmpChecked;
HBITMAP hbmpUnchecked;
- ULONG_PTR dwItemData;
+ DWORD dwItemData;
LPWSTR dwTypeData;
UINT cch;
#if (_WIN32_WINNT >= 0x0500)
diff --git a/winsup/w32api/include/winver.h b/winsup/w32api/include/winver.h
index f5a0dab85..9f8c9b76c 100644
--- a/winsup/w32api/include/winver.h
+++ b/winsup/w32api/include/winver.h
@@ -107,8 +107,8 @@ BOOL WINAPI GetFileVersionInfoA(LPCSTR,DWORD,DWORD,PVOID);
BOOL WINAPI GetFileVersionInfoW(LPCWSTR,DWORD,DWORD,PVOID);
DWORD WINAPI VerLanguageNameA(DWORD,LPSTR,DWORD);
DWORD WINAPI VerLanguageNameW(DWORD,LPWSTR,DWORD);
-BOOL WINAPI VerQueryValueA(LPCVOID,LPCSTR,LPVOID*,PUINT);
-BOOL WINAPI VerQueryValueW(LPCVOID,LPCWSTR,LPVOID*,PUINT);
+BOOL WINAPI VerQueryValueA(const LPVOID,LPCSTR,LPVOID*,PUINT);
+BOOL WINAPI VerQueryValueW(const LPVOID,LPCWSTR,LPVOID*,PUINT);
#ifdef UNICODE
#define VerFindFile VerFindFileW
#define VerQueryValue VerQueryValueW
diff --git a/winsup/w32api/include/wtsapi32.h b/winsup/w32api/include/wtsapi32.h
index 298acb9b6..5bd09bbbd 100644
--- a/winsup/w32api/include/wtsapi32.h
+++ b/winsup/w32api/include/wtsapi32.h
@@ -74,7 +74,7 @@ BOOL WINAPI WTSQueryUserToken(ULONG SessionId, PHANDLE pToken);
#endif /* _WIN32_WINNT >= 0x0501 */
-#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
+#if (_WIN32_WINNT >= 0x0500)
typedef struct _WTS_SESSION_INFOW {
DWORD SessionId;
@@ -168,56 +168,6 @@ BOOL WTSSendMessageW(
#define WTSSendMessage WTSSendMessageA
#endif
-BOOL WTSVirtualChannelClose(
- __in HANDLE hChannelHandle
-);
-
-HANDLE WTSVirtualChannelOpen(
- __in HANDLE hServer,
- __in DWORD SessionId,
- __in LPSTR pVirtualName
-);
-
-#if _WIN32_WINNT >= _WIN32_WINNT_VISTA
-HANDLE WTSVirtualChannelOpenEx(
- __in DWORD SessionId,
- __in LPSTR pVirtualName,
- __in DWORD flags
-);
-#endif
-
-BOOL WTSVirtualChannelPurgeInput(
- __in HANDLE hChannelHandle
-);
-
-BOOL WTSVirtualChannelPurgeOutput(
- __in HANDLE hChannelHandle
-);
-
-#if _WIN32_WINNT >= _WIN32_WINNT_WINXP
-BOOL WTSVirtualChannelQuery(
- __in HANDLE hChannelHandle,
- __in WTS_VIRTUAL_CLASS WtsVirtualClass,
- __out PVOID *ppBuffer,
- __out DWORD *pBytesReturned
-);
-#endif
-
-BOOL WTSVirtualChannelRead(
- __in HANDLE hChannelHandle,
- __in ULONG TimeOut,
- __out PCHAR Buffer,
- __in ULONG BufferSize,
- __out PULONG pBytesRead
-);
-
-BOOL WTSVirtualChannelWrite(
- __in HANDLE hChannelHandle,
- __in PCHAR Buffer,
- __in ULONG Length,
- __out PULONG pBytesWritten
-);
-
#endif /* _WIN32_WINNT >= 0x0500 */
#ifdef __cplusplus
diff --git a/winsup/w32api/lib/Makefile.in b/winsup/w32api/lib/Makefile.in
index d918f680f..63a62e022 100644
--- a/winsup/w32api/lib/Makefile.in
+++ b/winsup/w32api/lib/Makefile.in
@@ -42,7 +42,7 @@ UUID_OBJS = \
objsafe-uuid.o oaidl-uuid.o docobj-uuid.o comcat-uuid.o \
exdisp-uuid.o mlang-uuid.o objidl-uuid.o cguid-uuid.o \
olectlid-uuid.o ativscp-uuid.o urlmon-uuid.o hlink-uuid.o \
- hlguids-uuid.o extras-uuid.o devguid.o power-uuid.o shobjidl-uuid.o
+ hlguids-uuid.o extras-uuid.o devguid.o power-uuid.o
EXTRA_OBJS = \
shell32.o scrnsave.o scrnsavw.o largeint.o gdiplus.o \
@@ -54,7 +54,7 @@ UUID_SOURCES = \
objsafe-uuid.c oaidl-uuid.c docobj-uuid.c comcat-uuid.c \
exdisp-uuid.c mlang-uuid.c objidl-uuid.c cguid-uuid.c \
olectlid-uuid.c ativscp-uuid.c urlmon-uuid.c hlink-uuid.c \
- hlguids-uuid.c extras-uuid.c devguid.c power-uuid.c shobjidl-uuid.c
+ hlguids-uuid.c extras-uuid.c devguid.c power-uuid.c
SOURCES = \
scrnsave.c shell32.c largeint.c gdiplus.c $(UUID_SOURCES) \
@@ -131,14 +131,7 @@ install-libraries: all $(need-DESTDIR-compatibility)
install-headers: $(need-DESTDIR-compatibility)
$(mkinstalldirs) $(DESTDIR)${inst_includedir}
for file in $(HEADERS); do \
- case $$file in \
- amvideo.h | amaudio.h) \
- echo Not installing $$file \
- ;; \
- *) \
- $(INSTALL_DATA) ${top_srcdir}/include/$$file $(DESTDIR)${inst_includedir}; \
- ;; \
- esac \
+ $(INSTALL_DATA) ${top_srcdir}/include/$$file $(DESTDIR)${inst_includedir}; \
done
$(mkinstalldirs) $(DESTDIR)${inst_includedir}/GL
for file in $(GL_HEADERS); do \
diff --git a/winsup/w32api/lib/kernel32.def b/winsup/w32api/lib/kernel32.def
index 177160f6b..fca559aac 100644
--- a/winsup/w32api/lib/kernel32.def
+++ b/winsup/w32api/lib/kernel32.def
@@ -749,11 +749,11 @@ InitializeSListHead@4
InitializeSRWLock@4
InterlockedCompareExchange64@20
InterlockedCompareExchange@12
-InterlockedDecrement
-InterlockedExchange
+InterlockedDecrement@4
+InterlockedExchange@8
InterlockedExchangeAdd@8
InterlockedFlushSList@4
-InterlockedIncrement
+InterlockedIncrement@4
InterlockedPopEntrySList@4
InterlockedPushEntrySList@8
InvalidateConsoleDIBits@8
diff --git a/winsup/w32api/lib/shobjidl-uuid.c b/winsup/w32api/lib/shobjidl-uuid.c
deleted file mode 100644
index 47712fbc5..000000000
--- a/winsup/w32api/lib/shobjidl-uuid.c
+++ /dev/null
@@ -1,13 +0,0 @@
-/* shobjidl-uuid.c */
-/* Generate GUIDs for Object IDL interfaces */
-
-/* All CLSIDs defined in this file were extracted from
- * HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\ */
-
-/* All IIDs defined in this file were extracted from
- * HKEY_CLASSES_ROOT\Interface\ */
-
-#define INITGUID
-#include <basetyps.h>
-DEFINE_GUID(IID_ITaskbarList3,0xea1afb91,0x9e28,0x4b86,0x90,0xe9,0x9e,0x9f,0x8a,0x5e,0xef,0xaf);
-DEFINE_GUID(CLSID_ITaskbarList,0x56FDF342L,0xFD6D,0x11d0,0x95,0x8A,0x00,0x60,0x97,0xC9,0xA0,0x90);
diff --git a/winsup/w32api/lib/wtsapi32.def b/winsup/w32api/lib/wtsapi32.def
index 6baaa7124..e02e4705c 100755
--- a/winsup/w32api/lib/wtsapi32.def
+++ b/winsup/w32api/lib/wtsapi32.def
@@ -27,7 +27,6 @@ WTSTerminateProcess@12
WTSUnRegisterSessionNotification@4
WTSVirtualChannelClose@4
WTSVirtualChannelOpen@12
-WTSVirtualChannelOpenEx@12
WTSVirtualChannelPurgeInput@4
WTSVirtualChannelPurgeOutput@4
WTSVirtualChannelQuery@16